iT邦幫忙

0

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

我現在遇到一個很弔詭的事情
我有使用一個編輯器
他是在DIV裡面編輯的
所以假設我要他的HTML代碼我查到是說這樣用:

var html = document.querySelector(".ql-editor").innerHTML;

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

我的jquery結構大概是這樣

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

其他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他是有值的!
到底哪裡有問題?

froce iT邦大師 1 級 ‧ 2018-05-15 18:49:40 檢舉
把code丟出來吧,因為你的思路看起來沒問題。
html, js 沒看到程式無法判斷
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
wingkawa
iT邦新手 3 級 ‧ 2018-05-16 09:30:08
最佳解答

我猜,是否有兩個input的name都是content
而最後一個是空的,javascript有填值的只是id="content"的那個,所以每次post出去都一樣還是空字串

<form action="" method="post">
    <input type="text" name="content" id="content1">
    <input type="text" name="content" id="content2">
    <input type="submit">
</form>

像這種時候$_POST['content']只會抓到id="content2"的值

火爆浪子 iT邦研究生 1 級 ‧ 2018-05-16 10:50:47 檢舉

沒有耶,我檢查過了,只有一個

wingkawa iT邦新手 3 級 ‧ 2018-05-16 10:59:44 檢舉

原始code可能沒有,看你問題是說有用編輯器,也檢查一下產生的編輯器裡面有沒有吧?
或者先把hidden的content拿掉,後端var_dump($_POST)看一下傳了哪些東西過去
都沒有那就不是這個問題了

froce iT邦大師 1 級 ‧ 2018-05-16 11:09:28 檢舉

在送出之前把data像我範例一樣,print出來看看?

1
froce
iT邦大師 1 級 ‧ 2018-05-15 19:31:45

https://jsbin.com/kohuluxeye/edit?html,console,output
照你所想的寫了個模擬code,沒啥問題啊。

我要發表回答

立即登入回答