TinyMCE не инициализируется в форме «Добавить»Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 TinyMCE не инициализируется в форме «Добавить»

Сообщение Anonymous »

Описание
Привет всем, при использовании TinyMCE через CDN в проекте EasyAdmin 4 (работающем на Symfony 7), редактор WYSIWYG правильно инициализируется как при добавлении, так и при добавлении. и редактировать страницы. Однако, хотя форму можно без проблем отправить на странице редактирования, страница добавления предотвращает отправку формы. Нажата кнопка «Сохранить», но никаких действий не происходит, и форма не отправляется.
Среда
Версия Symfony: 7.x
Версия EasyAdmin: 4.x
Версия TinyMCE: последняя (загружается через CDN)
Версия PHP: 8.x
Браузер: протестировано в Chrome и Firefox (последние версии)
Шаги по воспроизведению

Код: Выделить всё

{
return $assets
->addJsFile('https://cdn.tiny.cloud/1/your-api-key/tinymce/7/tinymce.min.js') // CDN TinyMCE
->addJsFile('/assets/js/tinymce-init.js'); // Local initialization script
}

Код: Выделить всё

TextareaField::new('content', 'Contenu')
->hideOnIndex()
->setFormTypeOptions([
'attr' => ['class' => 'tinymce'],  // Add TinyMCE class
]),

Код: Выделить всё

 document.addEventListener('DOMContentLoaded', function() {
tinymce.init({
selector: 'textarea.tinymce',
toolbar_mode: 'floating',
menubar: true,
language: 'fr_FR',
plugins: [
'searchreplace', 'link', 'anchor', 'image', 'table', 'charmap', 'fullscreen', 'code', 'preview',
'lists', 'help', 'wordcount', 'codesample'
],
toolbar: 'cut copy paste pastetext | undo redo | searchreplace | selectall | link unlink anchor | ' +
'image | table | hr | charmap | fullscreen | code | preview print | ' +
'bold italic underline strikethrough subscript superscript | removeformat | ' +
'numlist bullist | outdent indent | blockquote | alignleft aligncenter alignright alignjustify | ' +
'blocks fontfamily fontsize | forecolor backcolor | help | codesample',
height: 500,
menubar: 'file edit view insert format tools table',
branding: false,
});

const form = document.querySelector('form');
if (form) {
form.addEventListener('submit', function(event) {
tinymce.triggerSave();
});
}
});
Дополнительная информация
Похоже, что проблема может быть связана с тем, как EasyAdmin или Symfony обрабатывает проверку или отправку формы. в частности, когда TinyMCE активен на странице добавления. Отправка формы блокируется или прерывается, но только при добавлении нового объекта.
Возможна проблема с JavaScript или обработкой формы, уникальная для контекста страницы добавления, или, возможно, какая-то другая проблема. несовместимость между EasyAdmin, TinyMCE и проверкой формы для вновь созданных объектов.
Возможное решение
В некоторых случаях вручную запуск отправки формы через JavaScript (document.querySelector('form').submit()) работает, но это не жизнеспособное долгосрочное решение.
Не могли бы вы дать какие-либо рекомендации или предложения? по решению проблемы отправки формы при использовании TinyMCE в форме добавления?
Спасибо за ваше время и помощь в решении этой проблемы!

Подробнее здесь: https://stackoverflow.com/questions/790 ... n-add-form
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»