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

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

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

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

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

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

clipboard.png

其他input沒(méi)有問(wèn)題
唯獨(dú)$content有問(wèn)題??!他都會(huì)是空的


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

我有在表單加入隱藏input

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

然後在jquery那邊這樣做:

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

但這個(gè)方法完全無(wú)法運(yùn)行
他都會(huì)是空的!
但問(wèn)題是我console.log印出html他是有值的!
到底哪裡有問(wèn)題?

回答
編輯回答
不舍棄

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

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

  1. input
  2. textarea

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

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

是不是$("#content").val(html);后還沒(méi)有渲染到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