对不起,我英语不好, 我不想用CKEDITOR和Ajax Submit将数据插入数据库,我有代码
$('#add').submit(function(e) {
var fd = new FormData(this);
e.preventDefault();
// CKEDITOR.instances.isiForm.updateElement();
for ( instance in CKEDITOR.instances ) {
CKEDITOR.instances.isiForm.updateElement();
}
$.ajax({
type: "POST",
url: "blog_add",
data: fd,
cache: false,
contentType: false,
processData: false,
success: function(result){
if(result=='1'){
table.ajax.reload(null,false);
$('#add').modal('hide');
// success result
} else {
// failed result
}
}
});
});
<form class="modal fade" id="add" enctype="multipart/form-data">
<div class="form-group">
<label>Isi Post</label>
<textarea id="isiForm" name="isiForm" cols="5" class="form-control rsf"></textarea>
</div>
</form>
我尝试使用CKEDITOR.instances.isiForm.updateElement();但它不起作用,该值始终为NULL,因此如何使用Ajax插入数据库?而且我尝试了很多线程,但是没有人成功
答案 0 :(得分:0)
在ckeditor更新文本区域之前,您将获得FormData。只需对其进行切换,以便在获取FormData之前更新CKEDITOR元素。
EG(未经测试)
$('#add').submit(function(e) {
e.preventDefault();
//first update the form values
for ( instance in CKEDITOR.instances ) {
CKEDITOR.instances.isiForm.updateElement();
}
//then get the form data
var fd = new FormData(this);
//post via ajax
$.ajax({
type: "POST",
url: "blog_add",
data: fd,
cache: false,
contentType: false,
processData: false,
success: function(result){
if(result=='1'){
table.ajax.reload(null,false);
$('#add').modal('hide');
// success result
} else {
// failed result
}
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form class="modal fade" id="add" enctype="multipart/form-data">
<div class="form-group">
<label>Isi Post</label>
<textarea id="isiForm" name="isiForm" cols="5" class="form-control rsf"></textarea>
</div>
</form>