jqueryでckeditorをクリアする方法

2011年10月14日に質問されました。  ·  閲覧回数 38.4k回  ·  ソース

user875293 picture
2011年10月14日

ボタン/リンクをクリックするだけでjqueryを使用してckeditortextareaをクリアするにはどうすればよいですか?

私はこれを試しました: $("textarea.editor").val('');$("textarea.editor1").val(''); PHPでエディター$ckeditor->editor('editor1', $nDetails);を初期化するときにこの行があるため、最後に1を付けて試しました

どんな助けでも大歓迎です。

<p>Details: 

    <?php

    // Helper function for this sample file.
    function printNotFound( $ver )
    {
        static $warned;

        if (!empty($warned))
            return;

        echo '<p><br><strong><span class="error">Error</span>: '.$ver.' not found</strong>. ' .
            'This sample assumes that '.$ver.' (not included with CKFinder) is installed in ' .
            'the "ckeditor" sibling folder of the CKFinder installation folder. If you have it installed in ' .
            'a different place, just edit this file, changing the wrong paths in the include ' .
            '(line 57) and the "basePath" values (line 70).</p>' ;
        $warned = true;
    }



    include_once '../ckeditor/ckeditor.php' ;
    require_once '../ckfinder/ckfinder.php' ;

    // This is a check for the CKEditor class. If not defined, the paths in lines 57 and 70 must be checked.
    if (!class_exists('CKEditor'))
    {
        printNotFound('CKEditor');
    }
    else
    {
        $initialValue = $pageContent;

        $ckeditor = new CKEditor( ) ;
        $ckeditor->basePath = '../ckeditor/' ;

        // Just call CKFinder::SetupCKEditor before calling editor(), replace() or replaceAll()
        // in CKEditor. The second parameter (optional), is the path for the
        // CKFinder installation (default = "/ckfinder/").
        CKFinder::SetupCKEditor( $ckeditor, '/ckfinder/' ) ;

        $ckeditor->editor('editor1', $nDetails);
    }

    ?></p>

回答

ghostCoder picture
2011年10月14日
52

CKEDITOR.instances.editor1.setData('');

ここで、editor1はCKEDITORフィールドのIDです。

Aarthi picture
2014年07月28日
17

以下のコードは、ckeditortextareaの値をクリアします。 これは4.4バージョンでも機能します。

      CKEDITOR.instances['content'].setData('');

コンテンツは、特定のテキスト領域のIDです。

Govinda Rajbhar picture
2015年06月20日
1

役立つかもしれません。

function CKupdate(){
    for ( instance in CKEDITOR.instances ){
        CKEDITOR.instances[instance].updateElement();
    }
    CKEDITOR.instances[instance].setData('');
}   

$.ajax({
   url: $('#CommunicationForm').attr("action"),
   type: $('#CommunicationForm').attr("method"),
   data: $('#CommunicationForm').serialize(),
   success: function (e) {
       if (e.error) {
          alert(e.error);
       } else {
          //Doing Clear here                          
          CKupdate();
       }
   },
   error: function (jqXHR, Status, text) {
        alert("error! " + text);
   }   
});

CKEditorのテキストをクリアしたい場合は、 CKupdate()関数を呼び出します。

Oleg picture
2018年08月06日
0

私のコードでは、プログラムでckeditorのテキストを変更する必要がありましたが、遅延セットを実行するまで機能しませんでした。 これは役立つかもしれません。

_.defer(function () {
    it._controls.wysiwyg.setData(bodyText); // by the direct reference
    //CKEDITOR.instances.editor1.setData(''); // or this way like in the example
});