web-dev-qa-db-ja.com

CKEditorはHTMLを挿入します

  1. データベースからのデータがあります。
  2. Jsファイルで、CKEditorテキストエディターの値を変更したいと思います。
  3. 私の価値は生のhtmlです。
  4. この生の値を空のCKEditorテキストエディターに書き込んでほしい。

これらを試しましたが、常に未定義の関数エラーが発生しました:

CKEDITOR.instances.myEditorID.insertHtml( '<p>This is a new paragraph.</p>' );
CKEDITOR.instances.myEditorID.setData( '<p>This is the editor data.</p>' );

私もこれを試しましたが、まだ未定義の関数エラーです:

CKEDITOR.instances.YOUREDITORID.updateElement();
alert( document.getElementById( 'YOUREDITORID' ).value );

MyEditorIDの代わりに、「editor」、「editor1」、「editor2」を試しましたが、それでも機能しません。

前もって感謝します。

- -更新 - -

これは私のckeditorテキストエディタのhtmlです:

<textarea id="myEditorID" name="myEditor"></textarea>
<script type="text/javascript">
    $(function () {
        var myEditor = $('#myEditorID');
        myEditor.ckeditor({ 
        height: 200, 
        extraPlugins: 'charcount', 
        maxLength: 2000, 
        toolbar: 'TinyBare', 
        toolbar_TinyBare: [
             ['Bold','Italic','Underline'],
             ['Undo','Redo'],['Cut','Copy','Paste'],
             ['NumberedList','BulletedList','Table'],['CharCount']
        ] 
        }).ckeditor().editor.on('key', function(obj) {
            if (obj.data.keyCode === 8 || obj.data.keyCode === 46) {
                return true;
            }
            if (myEditor.ckeditor().editor.document.getBody().getText().length >= 2000) {
                alert('You have reached the maximum char length');
                return false;
            }
        });
    });
</script>
7
saimcan

MyEditorIDの代わりに、「editor」、「editor1」、「editor2」を試しましたが、それでも機能しません。

ページのHTMLを見て、エディターのIDフィールドが何であるかを確認する必要があります。こんな感じになります

<textarea id="my_editor"></textarea>

そのid属性は、ここに入力する必要があるものです

CKEDITOR.instances.my_editor.insertHtml('<p>This is a new paragraph.</p>');
9
roryok