Как получить TinyMCE, и JQuery проверяют для сотрудничества?

Я использую jQuery, проверяют и версия jQuery tinymce.

Я нашел эту часть кода, который делает tinymce для проверки себя каждый раз, когда что-то изменяется в нем.

Привет!

Я использую jQuery, проверяют с моим jQuery tinymce, таким образом, у меня есть это в моем коде

    // update validation status on change
    onchange_callback: function (editor)
    {
        tinyMCE.triggerSave();
        $("#" + editor.id).valid();
    },

Это работает однако существует одна проблема. Если пользователь копирует что-то со слова, оно приносит все это моделирование спама с ним, что обычно является более чем 50 000 символов. Это - путь по моему количеству символов, которые пользователю разрешают ввести.

Таким образом, мой метод проверки jQuery уходит, говоря мне, что они пробежались через предел. Тем временем, хотя tinymce очистил ту путаницу, и могло быть возможно теперь, что пользователь не пробежался через предел.

Все же сообщение все еще там.

Так существует ли лучший вызов функции, я могу вставить это? Возможно, скажите tinymce задерживать допустимое, когда вставка произойдет, или возможно другой обратный вызов?

Кто-либо получил какие-либо идеи?

5
задан chobo2 29 May 2010 в 05:48
поделиться

2 ответа

О да, я тоже столкнулся с этой проблемой.

Поэтому я решил ее, вызывая валидацию по событию щелчка кнопки.

$("#buttontosave").click(function() {
         tinyMCE.triggerSave();
         var status;
         status = $("#myform").valid(); //Validate again
         if(status==true) { 
             //Carry on
         }
         else { }
});

Это работает, попробуйте.

Для получения дополнительных ресурсов попробуйте

http://rmurphey.com/blog/2009/01/12/jquery-validation-and-tinymce/

http://tinymce.moxiecode.com/punbb/viewtopic.php?id=21588

http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Jquery/Q_23941005.html

8
ответ дан 18 December 2019 в 07:53
поделиться

Недавно у меня возникли некоторые связанные с этим трудности с синхронизацией срабатывания обработчиков событий, особенно при увеличении размера буфера символов, вставленного из Word. Событие, которое меня интересовало, было нажатием клавиши: когда пользователь вводит текст в поле заголовка (для сообщения в блоге), приложение обновляет автоматически сгенерированное поле постоянной ссылки. В итоге я остановился на подходе с поясом и подтяжками: на всякий случай обработайте ключ и обработайте событие изменения. Сокращенная версия моего кода:

hdlHeadlineChange = function (code) {

    //NOTES: The 'code' argument is for debugging purposes only: it helps you
    //figure out which event has fired.

    var headlineText = $(tinyMCE.selectedInstance.getBody()).text();

    //heuristically detect and ignore text with embedded Microsoft Word markup
    if (headlineText.match(/<!--/)) {
        return;
    }

    //as a backstop, trim excessively long text to fit database maximum lengths
    var truncateLength;    
    var semanticTitle = replaceSpecialCharactersInSemanticUrl(headlineText);

    //trim the permalink to fit the 255-character max in the database            
    truncateLength = 255 - $('#permalinkPreface').text().length;
    $('#permalinkSpan').text(semanticTitle.substring(0, truncateLength));
};

function setupHeadlineEventHandlers() {
    tinyMCE.get("headline").onKeyUp.add(function(ed, evt) {
        hdlHeadlineChange(evt.keyCode);
    });

    //NOTES: This handler is sort of a backstop.  Although the key-up handler may see text
    //with markup, we expect that the change handler will not.
    $('#headline').change(function () {
        hdlHeadlineChange(-1);
    });
}

Ключевым моментом является то, что я использовал .change () для активации обработчика событий, а не onchange_callback.

0
ответ дан 18 December 2019 в 07:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: