iT邦幫忙

1

如何使用ajax提交帶有img標籤的文本?

我在表單中使用了<div contenteditable="true"></div>代替textarea,因為要放圖片在裏頭,之後我又寫了個隱藏的textarea,利用js將contenteditable裡的字.html()寫進textarea裡,最後我想要達到不用換頁也能上傳資料給php讓他與資料庫連接,所以選擇使用ajax。

但遇到問題了,將資料從資料庫印出來,他會以文字的方式印出<img src="">,而不是把它當標籤印出圖片,請問有甚麼辦法可以解決/images/emoticon/emoticon02.gif

froce iT邦大師 1 級 ‧ 2020-08-14 16:35:08 檢舉
https://www.w3school.com.cn/jsref/jsref_decodeURI.asp

不過要注意會不會被注入指令碼...
通靈亡 iT邦研究生 4 級 ‧ 2020-08-14 16:39:06 檢舉
建議你把上傳的程式碼、存到資料庫的長相,還有資料怎麼從資料庫印出來的程式碼貼出來

你上傳的時候img標籤的路徑是什麼?dataUrl?相對路徑?絕對路徑?
你是使用php取得資料後echo?還是ajax從資料庫取得資料後使用JS印出的?
hank20818 iT邦新手 5 級 ‧ 2020-08-14 17:07:19 檢舉
謝謝你們,我採用了froce 的方法,是可行的,謝謝你,我會注意的。也謝謝通靈亡 提醒,下次我會把問題描述得更清楚 :)

2 個回答

0
iT邦新手 5 級 ‧ 2020-08-14 16:32:17

抱歉這是vue的做法 XDDD

v-html

  • html
<div v-html="htmlTagString"></div>
  • js
let htmlTagString = '<img src="">'
看更多先前的回應...收起先前的回應...
iT邦新手 5 級 ‧ 2020-08-14 16:35:39 檢舉

但或許可以考慮後端不要吐整串html tag
而是吐 img的 src
然後你可以

<img v-if="srcString" :src="'srcString'">

這是 vue 的語法吧

iT邦新手 5 級 ‧ 2020-08-14 16:41:40 檢舉

阿...誤會了, 剛剛在逛vue的文章XD

hank20818 iT邦新手 5 級 ‧ 2020-08-14 17:07:58 檢舉

謝謝你們,我採用了froce 的方法,但謝謝你們給我建議:)

iT邦新手 5 級 ‧ 2020-08-14 17:19:46 檢舉

下次直接貼codepen那會比較精準

0
mike8864aabb
iT邦新手 4 級 ‧ 2020-08-14 17:32:14

改用$("#myDiv1").text()取得編輯內容

$("#myTextarea").val($("#myDiv1").text());

範例

我要發表回答

立即登入回答