Javascript 使用FormData对象获取CKeditor值

Javascript 使用FormData对象获取CKeditor值,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,下面是我的html表单 <form id='add'> <input type="text" name="title"> <textarea id="usingckeditor" name="content"></textarea> <input type="file" name="file"> <button id="save">save</button> </form> 我正在使用new For

下面是我的html表单

<form id='add'>
<input type="text" name="title">
<textarea id="usingckeditor" name="content"></textarea>
<input type="file" name="file">
<button id="save">save</button>
</form>
我正在使用new FormData()将数据发送到saveblog.php,saveblog.php正在上载图像并获取$_POST['title']的值,但$_POST['content']为空


如何使用FormData获取textarea的内容(使用ckeditor)?

按钮没有提交事件,您必须将提交事件绑定到表单,还必须防止表单提交,因为您使用ajax发布数据。
CKEditor管理自己的内容,因此它不在文本区域中,您可以通过在CKEditor实例上调用
getData()
来获取它

<form id='add'>
  <input type="text" name="title">
  <textarea id="usingckeditor"></textarea>
  <!-- remove name attribute so it will not pollute form data object -->
  <input type="file" name="file">
  <button id="save">save</button>
</form>
您可以使用:

$(form).trigger('form-pre-serialize');

然后创建新的
FormData()

var data = new FormData([form]);
data.append('[textarea_name]', CKEDITOR.instances['textarea_id'].getData());
$(form).trigger('form-pre-serialize');
var data = new FormData([form]);
data.append('[textarea_name]', CKEDITOR.instances['textarea_id'].getData());