我有一个项目,我需要一个格式化的文本框来输入大量的文本。出于这个原因,我使用的是带contenteditable
的div。我一直在使用隐藏的输入,并将文本复制到其中。这看起来非常低效。因为我将要处理超过千言万语并且我不希望任何浏览器滞后,我想知道是否有办法将div的内容直接传递给帖子请求。
如果有帮助,我也在应用程序中使用jquery。
答案 0 :(得分:0)
你可以直接发送一个contenteditable div的内容(中间没有任何隐藏的输入)。
你只需稍微处理字符串...如果你想在帐户中获取行返回。
示例:
$("#send").on("click",function(){
var text = $("#typehere").html();
// Remove the <br> and </div> tags
// and replace the <div> by the new line chars
// Text before
console.log(text);
text = text.replace(/(<\/div>)|(<br>)/g,"").replace(/<div>/g,"\r\n");
// Text after (will be sent)
console.log(text);
// An ajax quick example - Commented since it obviously can't work.
/*
$.ajax({
url: "https://a-domain[dot]com?something-to-handle-it.php",
type:"post",
data:{
text: text
},
success:function(response){
console.log("Ajax succeded");
}
});
*/
});
#typehere{
border:1px solid orange;
height:12em;
width:100%;
margin:1em 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="typehere" contenteditable></div>
<button id="send">Send</button>