Обновите содержимое редактора непосредственно перед сохранением в плагине CKEditor - PullRequest
8 голосов
/ 16 февраля 2010

Я разрабатываю плагин для CKEditor, который должен внести некоторые изменения в содержимое редактора непосредственно перед сохранением.В FCKeditor я достиг этого, используя событие OnAfterLinkedFieldUpdate, но мне пока не удалось найти эквивалентный способ сделать это в CKEditor.Я надеялся, что будет подходящее мероприятие, но его, похоже, не будет.Кто-нибудь знает способ сделать это?

Ответы [ 2 ]

6 голосов
/ 28 февраля 2010

Вы можете использовать событие getData, но будьте осторожны, поскольку оно запускается также для внутреннего использования.

Я подал http://dev.fckeditor.net/ticket/5254 для воссоздания предыдущего события

1 голос
/ 22 августа 2012

Поскольку ссылка выше на самом деле не имеет решения о событии подмены OnAfterLinkedFieldUpdate, я написал небольшой пост о том, как его обойти.

Вот форма:

<form id="my_form" action="submit.php" method="post" name="my_form">
   <textarea id="my_text" name="my_text"></textarea>
   <input id="submitForm" type="submit" name="submitForm" value="Submit" />
</form>

JavaScript:

var formSubmitted = false;
$("#submitForm").live('click', function(event) {
    if (formSubmitted === true) {
        formSubmitted = false;
        return;
    }
    event.preventDefault();
    //put here function to edit content == OnAfterLinkedFieldUpdate
    var editor = CKEDITOR.instances.my_text;
    var html = editor.getData();
    html.replace(searchvalue, newvalue);
    editor.setData(html);
    formSubmitted = true;
    $(this).trigger('click');
});

код здесь

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