鍍金池/ 問答/C++  數(shù)據(jù)庫  HTML/ 取到 div 值的時候,如何丟到input,然後POST送出?

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

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

然後當(dāng)表單POST出去後
我console.log的時候可以印出結(jié)果這沒有問題

我的jquery結(jié)構(gòu)大概是這樣

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

clipboard.png

其他input沒有問題
唯獨$content有問題?。∷紩强盏?/p>


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

我有在表單加入隱藏input

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

然後在jquery那邊這樣做:

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

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

回答
編輯回答
不舍棄

new formData可以傳入一個form標(biāo)簽進去,form標(biāo)簽內(nèi)所有的攜帶name屬性的表單元素會被認(rèn)為是formItem。

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

  1. input
  2. textarea

如果你確定你數(shù)據(jù)的來源是一個div,那么很抱歉,直接new FormData是不能夠得到你想要的結(jié)果的
需要你自己在后邊進行append的操作:

formData.append('content', document.querySelector(".ql-editor").innerHTML)
2017年5月5日 19:54
編輯回答
乞許

是不是$("#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);
2018年8月4日 21:51