下面是我的 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>
这是我的 JavaScript
$("#save").on('submit',(function(e) {
$.ajax({
url: "blog/saveblog.php",
type: "POST",
data: new FormData(this),
contentType: false,
cache: false,
processData:false,
success: function(data){
}
});
})
我正在使用 new FormData() 将数据发送到 saveblog.php,saveblog.php 正在上传图像并获取 $_POST['title'] 的值,但 $_POST['content'] 为空
FormData如何获取textarea的内容(使用ckeditor)?
最佳答案
按钮没有提交事件,您必须将提交事件绑定(bind)到表单,而且您还必须阻止表单提交,因为您使用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>
$("#add").on('submit',(function(e) {// attach form to submit event
e.preventDefault(); //prevent the form from submitting
var data = new FormData(this);
//add the content
data.append('content', CKEDITOR.instances['usingckeditor'].getData());
$.ajax({
url: "blog/saveblog.php",
type: "POST",
data: data,
contentType: false,
cache: false,
processData:false,
success: function(data){
}
});
})
关于javascript - 使用 FormData 对象获取 CKeditor 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616498/