CKEDITOR.instances.editor1.getData()
으로 데이터를 가져올 수 있습니다. 그런 다음 AJAX를 통해 전송하거나 입력 필드 값으로 저장할 수 있습니다. 주기적으로이 작업을 수행하려면이 방법을 따르
CKEDITOR.disableAutoInline = true;
var editor = CKEDITOR.inline('editable');
var savedData, newData;
function saveEditorData() {
setTimeout(function() {
newData = editor.getData();
if (newData !== savedData) {
savedData = newData;
// Send it with jQuery Ajax
$.ajax({
url: 'yourUrl',
data: savedData
});
// Or store it anywhere...
// ...
// ...
}
saveEditorData();
}, 500);
};
// Start observing the data.
saveEditorData();
당신은 또한 submit event을 관찰하고 데이터 일부 (숨겨진) 양식 필드를 업데이트 할 수 있습니다.
재미있게 보내세요!
굉장! 하나의 대답으로 내 데이터를 저장하는 두 가지 좋은 방법! 누가 더 많은 것을 요구할 수 있었습니까! –
이것은 끔찍한 대답입니다. 데이터가 변경되는 폴링은 자바가 사물에 반응해야하는 방식이 아닙니다. 그게 바로 사건입니다. "제출 이벤트 관찰"을 언급했지만 편집자가 사는 컨텍스트에 대한 코드를 작성하게합니다. 다행히도 CKEDITOR 클래스는 이벤트 처리 메커니즘 (http://docs.ckeditor.com/#!/api/CKEDITOR.event)을 지원하며 관찰 할 여러 이벤트를 트리거합니다. –
@ TommiForsström 접근 방법은 어떤 구현이 필요한지에 달려 있습니다. Adam은 어떤 종류의 앱을 개발하고 있는지 언급하지 않았으므로이 앱이 잘못되었다고 생각할 수 없습니다. Gmail이나 그와 유사하게 "초안 백업"을 위해 편집기 스냅 샷을 자주 저장해야 할 수도 있습니다. 그렇지 않습니까? 흠? 문제는 ** CKEditor가 ** 변경된 내용을 지원하지 않는다는 것입니다. 이것은 매우 복잡한 것이고 4.1에서 지원 될 것입니다. 참조 : http://dev.ckeditor.com/ticket/9794 현재 편집기의 내용을 변경하는 방법이 너무 다양하기 때문에 편집기 내용이 변경되었는지 여부를 확인하는 간단하고 안전한 방법 (이벤트)이 없습니다. – oleq