Здесь необходимо решить две проблемы ...
1 - атрибут required
в <textarea>
при вызове TinyMCE исходный <textarea>
, который у вас есть на странице, скрыт, и TinyMCE помещает на страницу кусок HTML. Прямоугольник редактирования - <iframe>
, а меню / панели инструментов - HTML, которые окружают это <iframe>
.
Поскольку исходный <textarea>
теперь скрыт, создание его required
является проблемой, и браузер будет жаловаться, что у вас есть скрытый элемент формы, помеченный как required
.
Итогом этой первой проблемы является то, что вы не можете пометить скрытый <textarea>
как required
.
2 - TinyMCE и <textarea>
TinyMCE не всегда поддерживает базовый <textarea>
в syn c - для большинства случаев использования это добавило бы ненужные накладные расходы на страницу, когда кто-то создает контент.
Если вы используете стандартную HTML форму для публикации, при публикации формы TinyMCE обновит <textarea>
до публикации формы. К сожалению, большинство современных фреймворков не используют стандартную HTML форму сообщения, а вместо этого делают что-то, используя JavaScript / AJAX. Вы можете использовать следующий вызов API, чтобы заставить TinyMCE обновить <textarea>
:
tinymce.triggerSave();
Это заставит TinyMCE обновить <textarea>
при его вызове. Вы можете:
- Сделать это в событии onsubmit в форме
Сделать это в init TinyMCE:
tinymce.init({
selector: "textarea",
setup: function (editor) {
editor.on('change', function () {
tinymce.triggerSave();
});
}
});