В этой статье анализируется решение проблемы, которую Tinymce не может получить данные при отправке AjaxForm. Поделитесь этим для вашей ссылки. Конкретный анализ заключается в следующем:
Прежде чем использовать AjaxForm, я сделал небольшую веб -форму отправки комментариев, и содержание комментариев использовалось для редактирования текста. Чтобы немного увеличить пользовательский опыт, я буду использовать AjaxForm для реализации подчинения AJAX. Но я нашел что -то неожиданное случилось. Дело в том, что каждый раз, когда вы отправляете, AjaxForm не сможет получить в настоящее время отредактированный контент комментариев, то есть контент в Textarea. Вы должны щелкнуть «Отправить» еще раз, чтобы отправить контент Textarea.
Дело в том, что контент на tinymce не обновляется в Textarea до подачи. Поэтому я хотел посмотреть, есть ли у Ajaxform привязка событий перед отправкой. Я обнаружил, что в событии Beforesubmit содержание FormData было заполнено. Хотя я могу заполнить текущее содержание Tinymce здесь, я всегда чувствую, что это не очень красиво.
Чтобы выяснить, есть ли другие способы решить эту проблему, я проверил исходный код AjaxForm и обнаружил, что автор AjaxForm предложил объединенное решение этой проблемы. Конкретный исходный код заключается в следующем:
1. Код JS выглядит следующим образом:
Кода -копия выглядит следующим образом: // зацепите манипулирование данными формы до их извлечения;
// удобно для использования с богатыми редакторами, такими как Tinymce или Fckeditor
var Veto = {};
this.trigger ('form-pre-serialize', [this, опции, вето]);
if (Veto.Veto) {
log ('ajaxSubmit: отправленное вето с помощью триггера Form-Pre-Serialize');
вернуть это;
}
2. Соответствует Fckeditor похожа:
Скопируйте код следующим образом: // СВЯЗАТЬ ФОРМА С помощью 'Ajaxform'
$ ('#CommentForm'). AjaxForm (Options);
// Связывают событие формы-просье-сериализации и сохраните данные tinymce в Textarea, прежде чем запустить событие, отображаемое формой.
$ ('#commentform'). Bind ('form-pre-serialize', function (событие, форма, опции, вето) {
tinymce.triggersave ();
});
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.