Значение CKEDITOR NULL при вставке в дБ - PullRequest
0 голосов
/ 16 марта 2019

Извините за мой плохой английский, я не хочу вставлять данные в базу данных с помощью 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?и я пробовал много ниток, но никто не преуспел

1 Ответ

0 голосов
/ 16 марта 2019

Вы получаете FormData ДО того, как ckeditor обновил текстовую область. Просто переключите его так, чтобы элементы CKEDITOR обновлялись перед извлечением FormData.

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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...