取到 div 值的時候,如何丟到input,然後POST送出?

我現在遇到一個很弔詭的事情
我有使用一個編輯器
他是在DIV裡面編輯的
所以假設我要他的HTML代碼我查到是說這樣用:
var html = document.querySelector(".ql-editor").innerHTML;

然後當表單POST出去後
我console.log的時候可以印出結果這沒有問題

我的jquery結構大概是這樣

var formData = new FormData($("#form")[0]);

clipboard.png

其他input沒有問題
唯獨$content有問題!!他都會是空的


      "UPDATE `news` SET
      `content` = '".$_POST['content']."'
      WHERE `id` = '".$id."' "

我有在表單加入隱藏input

<input type="hidden" name="content" id="content">

然後在jquery那邊這樣做:

$("#content").val(html);

但這個方法完全無法運行
他都會是空的!
但問題是我console.log印出html他是有值的!
到底哪裡有問題?

阅读 2.4k
2 个回答

new formData可以传入一个form标签进去,form标签内所有的携带name属性的表单元素会被认为是formItem

表单元素包含下列(可能还有其他的,但是不太常用了,2333):

  1. input
  2. textarea

如果你确定你数据的来源是一个div,那么很抱歉,直接new FormData是不能够得到你想要的结果的
需要你自己在后边进行append的操作:

formData.append('content', document.querySelector(".ql-editor").innerHTML)

是不是$("#content").val(html);后还没有渲染到dom上面就var formData = new FormData($("#form")[0]);了
试试这样写吧

var html = document.querySelector(".ql-editor").innerHTML;
var formData = new FormData($("#form")[0]);
formData('content',html);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题