Я использую 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 задерживать допустимое, когда вставка произойдет, или возможно другой обратный вызов?
Кто-либо получил какие-либо идеи?
О да, я тоже столкнулся с этой проблемой.
Поэтому я решил ее, вызывая валидацию по событию щелчка кнопки.
$("#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
Недавно у меня возникли некоторые связанные с этим трудности с синхронизацией срабатывания обработчиков событий, особенно при увеличении размера буфера символов, вставленного из 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.