我有以下表格:
<form method="post" action="example.com" id="form">
<textarea id="content">{{$content_from_database}}</textarea>
<button type="submit">Update</button>
</form>我在表单中使用tinymce editor:
tinymce.init({
selector:'textarea#content'
});在更新内容之后,单击submit按钮:
$('textarea#content').val() = 'old content'内容仍然是旧的内容。
更新
Ajax代码:
$('#form').on('submit', function() {
$.post(
$(this).prop('action'), {
"content": $('textarea[name=content]').val(),
},
function(d){
console.log(d);
},
'text'
).done(function() {
alert('successful');
}).fail(function(e) {
alert('failed');
});
return false;
}); 我怎么才能解决这个问题?
请帮帮我!
非常感谢!
发布于 2016-07-06 03:44:09
如果使用AJAX提交表单,则需要使用tinyMCE.triggerSave() API调用获取TinyMCE以更新底层<textarea>。
当加载TinyMCE时,原始<textarea>实际上被TinyMCE加载到页面中的iFrame和其他DOM元素“隐藏”。当您在TinyMCE中键入时,编辑器不会不断地保持<textarea>的同步。
调用tinyMCE.triggerSave()将迫使编辑器更新底层<textarea>,然后可以使用AJAX提交包含<textarea>的表单。
我怀疑您需要在代码的这一部分之前添加它,因为这似乎期望<textarea>具有正确的内容。
$(this).prop('action'), {
"content": $('textarea[name=content]').val(),
}https://stackoverflow.com/questions/38176740
复制相似问题