1
我正在使用ckeditor 4.6.2並遇到了一個問題,如果我更改編輯器中的內容,它們不會通過ajax調用回發到服務器。ckeditor不會發布更新的內容
我的設立是這樣的:
- textarea的ID爲
#editor1
已申請就可以了CKEditor的。 - 在頁面加載我使用ajax從數據庫加載一些內容到編輯器(這一切都正常)。
- 我的提交按鈕的ID爲
#sendBtn
然後我使用AJAX來處理表單提交 - 按#sendBtn
。這篇文章的作品,但如果我編輯了#editor1
內容,它會提交原始內容 - 頁面加載時有什麼,而不是編輯的內容。
我來過這篇文章How to ajax-submit a form textarea input from CKEditor?。我在ajax調用之前添加了接受的答案。所以,我的處理提交的jQuery看起來是這樣的:
$('#sendBtn').click(function(e) {
e.preventDefault();
$('#sendBtn').prop("disabled", true);
var dataString = $("#emailForm").serialize();
/**
* https://stackoverflow.com/questions/3256510/how-to-ajax-submit-a-form-textarea-input-from-ckeditor
*/
for (instance in CKEDITOR.instances)
CKEDITOR.instances[instance].updateElement();
$.ajax({
url: "/admin/ajax/email",
data: dataString,
method: "POST",
}).done(function(data) {
// ...
});
});
如果我使用PHP在/admin/ajax/email
轉儲POST數據則顯示原來的內容,而不是更新的版本。
什麼奇怪的是,如果我在我的瀏覽器控制檯運行它,它返回true
然後事情似乎工作:
for (instance in CKEDITOR.instances)
CKEDITOR.instances[instance].updateElement();
所以是問題,上面的代碼是不是Ajax調用之前完成是做成?我將如何處理?