У меня есть Validation, работающий с большой формой (я запускаю ее несколько раз перед Submit, чтобы проверить разделы формы), и редактор tinyMCE, работающий в 1 textarea. Я хочу переместить содержимое iframe tinyMCE в текстовую область до (это ключ здесь - до) кнопки «Отправить», чтобы можно было проверить содержимое в разделе перед «Передать».
Я использовал tinyMCE.triggerSave();
несколькими способами для перемещения содержимого и запуска проверки перед отправкой. Нет работы. Я начинаю полагать, что содержимое tinyMCE не может быть перемещено никаким Javascript, скорее, содержимое перемещается только с помощью кнопки «Отправить», но я не вижу, чтобы это было указано где-либо.
В tinyMCE я пытался onchange_callback:
и handle_node_change_callback:
запускать функции с помощью triggerSave и других команд сохранения. Я могу проверить содержимое tinyMCE, когда дважды нажму «Отправить» (другие отметили эту особенность), но никак иначе.
Кроме того, когда ошибки исправляются в tinyMCE, проверка не выполняется повторно, пока не будет нажата кнопка «Отправить». Он должен пройти повторную проверку в режиме реального времени, поскольку проверка предназначена для этого.
2 вопроса -
Кто-нибудь знает, как переместить содержимое tinyMCE в текстовую область, не нажимая кнопку Отправить?
Разрешает ли CKEditor обновления, кроме как через Submit, и если да, где учебник или пример?
Вот пример кода, который должен запускаться с помощью утилиты tinyMCE onchange_callback, но срабатывает только после второго нажатия кнопки «Отправить».
function tinyMCESetValue(inst)
{
var content = tinyMCE.activeEditor.getContent();
if (tinyMCE.activeEditor.isDirty()) {tinyMCE.triggerSave(true, true);}
// other save expressions that have been tried - with same results
//$("#selector").val(content);
//$("textarea.tinymce").val(content);
//tinyMCE.triggerSave();
//ed.save();
alert("some change"); //does not fire
}
В ответ на комментарий Тариама, приведенный выше код должен запускаться параметром tinyMCEinit в onchange_callback: tinyMCESetValue ,. У меня также есть следующий код в разделе JS, который делает все остальное правильно. Предупреждение всегда показывает «неопределено». Видите какие-нибудь проблемы? Где еще мне посмотреть / попробовать? Какие тесты я могу сделать - я не получаю полезную информацию от Firebug.
if ($( "#sections" ).accordion( "option", "active" ) == 1) //if the second Accordion section
{
var content = tinyMCE.activeEditor.getContent(); //get the content from the tinyMCE iframe
if (tinyMCE.activeEditor.isDirty()) //if the contents of tinyMCE have changed}
{tinyMCE.triggerSave(true, true);} //put contents in the textarea
alert("|" + $("#detailedDescription").val() + "|tinyMCEval");
if (i == 7) {$("#detailedDescription").rules("add", {validCharsCheck: true});}
}