2017-10-30 2 views
2

CKEditor 텍스트 영역의 값을 반환하고 그 안에 내 텍스트를 쓸 수 있기를 원합니다.CKEditor 5의 가치를 얻는 방법은 무엇입니까?

나는 CKEditor 5 CDN을 사용했다.

var text = $('textarea#editor').val(); 

에 의해 데이터를 설정합니다 :

$('textarea#editor').html(""); 
먼저이 내 코드는 텍스트 영역을 위해 내가으로 CKEditor 전에 텍스트 영역에서 데이터를 가져 오는 데 사용

<script src="https://cdn.ckeditor.com/ckeditor5/1.0.0-alpha.1/classic/ckeditor.js"></script> 

<textarea class="inputStyle" id="editor" name="content" placeholder="Write your email.."></textarea> 
<script>ClassicEditor.create(document.querySelector('#editor')).catch(error => { console.error(error); }); </script> 

잘 작동

하지만 지금은 길을 잃었나요? 나는 여러 가지 방법을 시도 ... 올바른 방법은 무엇입니까?

+0

를 사용하여 데이터를 얻을 당신은 데이터에 액세스 할 수 ckeditor의 인스턴스를 작성해야합니다. 이 링크 https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_savedata를 확인하십시오. –

+0

나는 그것을 시험해 본다, 그것은 작동하지 않을 것이다? –

+0

은 더 많은 코드를 공유하고, ckedit를 작성하고, 인스턴스를 작성하고, 데이터를 가져오고 –

답변

6

작성된 편집기를 가져 오거나 저장 한 다음 getData() 함수를 사용해야합니다. .then을 작성하여 편집기를 저장할 수 있습니다.

var myEditor; 

    ClassicEditor 
     .create(document.querySelector('#editor')) 
     .then(editor => { 
      console.log('Editor was initialized', editor); 
      myEditor = editor; 
     }) 
     .catch(err => { 
      console.error(err.stack); 
     }); 

은 다음

myEditor.getData(); 
+2

... myEditor.setData()는 편집기에서 데이터를 설정하기위한 것입니다. 편집기 데이터는 자동으로 텍스트 영역에 저장되지 않으므로 양식을 제출하기 전에'$ ('textarea # editor') .html (myEditor.getData())'와 같은 작업을 수행해야합니다. –

+1

감사합니다 그것은 작동합니다! –

+0

다음과 같이 정확히 시도했지만 "정의되지 않은 getData 속성을 읽을 수 없습니다.이 코드는 내 코드입니다. var editorinstance; ClassicEditor.create (document.querySelector ('# editor')) .then (editor => { editorinstance = 편집기;. }) 잡기 (오류 => { console.error (오류) }); 경고 (editorinstance.getData는()); – Scott

관련 문제