插入数据库时​​ CKEDITOR 值为 NULL

CKEDITOR value NULL when inserting to db

抱歉我的英语不好, 我不想使用 CKEDITOR 将数据插入数据库并 ajax 提交,我有代码

$('#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 插入到数据库中?我尝试了很多线程,但没有一个成功

您在 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>