Как очистить форму ckeditor после отправки с помощью ajax? - PullRequest
10 голосов
/ 26 марта 2011

Я использую форму JKery CKeditor, Jquery и плагина.

CKEDITOR.replace( 'comment-textarea' );
function CKupdate(){
    for ( instance in CKEDITOR.instances )
        CKEDITOR.instances[instance].updateElement();
}

$(document).ready(function(){   
    var options = {
        success: function (html) {
            $('#comments').append(html);
        },
        clearForm: true 
    };

    $('#formcomments').submit(function() {
        CKupdate();
    });
    $('#formcomments').ajaxForm(options);
});   

Я использую clearForm: true , но после отправки формы значение текстового поля Ckeditor не очищается. Как очистить текстовый регистр?

Ответы [ 5 ]

31 голосов
/ 26 марта 2011

Спасибо всем, я использую функцию setData и все отлично работает:

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

$(document).ready(function(){   
    CKEDITOR.replace( 'comment-textarea' );

    var options = {
        success: function (html) {
            $('#comments').append(html);
        },
        clearForm: true 
    };

    $('#formcomments').submit(function() {
        CKupdate();
    });
    $('#formcomments').ajaxForm(options);
}); 
3 голосов
/ 26 марта 2011

Попробуйте что-то вроде $ ("# comment-textarea"). Val (""); ... иди сюда.

$('#formcomments').submit(function() {
        CKupdate();
$("#comment-textarea").val("");
    });

# comment-textarea - это идентификатор textarea, который вы хотите очистить , а .val ('') устанавливает его значение в '' - обратите внимание на пробел между ';

2 голосов
/ 26 марта 2011

просто создайте экземпляр и используйте setHtml

используйте это для отправки

var Editor1 = FCKeditorAPI.GetInstance('comment-textarea'');
Editor1.SetHTML();

для ckeditor

setData

http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.editor.html#setData

0 голосов
/ 09 сентября 2015

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

0 голосов
/ 03 июня 2015

Я использовал эти два метода и работал для меня

$(window).load(function(e) {
for ( instance in CKEDITOR.instances ){
    CKEDITOR.instances[instance].updateElement();
}
    CKEDITOR.instances[instance].setData('');
});

//OR

$.ajax({
    type:'POST',
    url:'response.php',
    data: data,
    cache:false,
    success: function(e)
    {
    for ( instance in CKEDITOR.instances ){
        CKEDITOR.instances[instance].updateElement();
    }
        CKEDITOR.instances[instance].setData('');
    }
});

Надеюсь, это помогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...