저는 ckeditor 4.6.2를 사용하고 있으며 편집기에서 내용을 변경하면 아약스 호출을 통해 서버에 다시 게시되지 않는 문제가 발생했습니다.ckeditor는 업데이트 된 내용을 게시하지 않습니다
내 셋업은 다음과 같이이다 : ID #editor1
와
- 텍스트 영역이 ckeditor가 적용되었다.
- 페이지로드시 데이터베이스에서 편집기로 일부 내용을로드하는 데 아약스를 사용합니다 (이 방법은 정상적으로 작동합니다).
#sendBtn
를 눌러 - 버튼을 제출 내 - 는 ID
#sendBtn
그때 양식 제출을 처리하기 위해 아약스를 사용하여이있다. 게시물은 작동하지만, #editor1
의 콘텐츠를 편집 한 경우 원래 콘텐츠 (페이지로드시 편집 내용이 아닌 내용)를 제출합니다.
나는이 게시물 How to ajax-submit a form textarea input from CKEditor?에 십자가에왔다. 내 아약스 호출 전에 허용 된 답변을 추가했습니다. 그래서 제출을 처리하기위한 내 JQuery와는 다음과 같습니다
$('#sendBtn').click(function(e) {
e.preventDefault();
$('#sendBtn').prop("disabled", true);
var dataString = $("#emailForm").serialize();
/**
* https://stackoverflow.com/questions/3256510/how-to-ajax-submit-a-form-textarea-input-from-ckeditor
*/
for (instance in CKEDITOR.instances)
CKEDITOR.instances[instance].updateElement();
$.ajax({
url: "/admin/ajax/email",
data: dataString,
method: "POST",
}).done(function(data) {
// ...
});
});
을 나는 그것이 원본 콘텐츠가 아닌 업데이트 된 버전을 보여주고있다 /admin/ajax/email
에서 POST 데이터를 덤프 PHP를 사용하는 경우.
for (instance in CKEDITOR.instances)
CKEDITOR.instances[instance].updateElement();
그래서 위의 코드는 아약스 호출하기 전에 완료되지 않는 문제 :
어떤 이상한 것은 내 브라우저 콘솔에서이 작업을 실행하면, 그것은 사물이 작동하는 것처럼 다음 true
및 반환이다 만든거야? 어떻게 처리할까요?