将div的内容直接传递给post请求

时间:2018-01-06 00:44:04

标签: javascript jquery

我有一个项目,我需要一个格式化的文本框来输入大量的文本。出于这个原因,我使用的是带contenteditable的div。我一直在使用隐藏的输入,并将文本复制到其中。这看起来非常低效。因为我将要处理超过千言万语并且我不希望任何浏览器滞后,我想知道是否有办法将div的内容直接传递给帖子请求。

如果有帮助,我也在应用程序中使用jquery。

1 个答案:

答案 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>