Проблема с JavaScript в редакторе TinyMCE: как сохранить данные по имени?

Я использую редактор TinyMCE в своем проекте на .Net Core, но у меня возникла проблема. Вот как я инициализирую редактор:

tinymce.init({
    selector: 'textarea#myEditor'
});

Раньше я получал значение текстовой области так:

var description = $('#description').val();

Теперь я пытаюсь сделать это по имени:

var description = $('textarea[name="description"]').val();

Но значение всегда пустое. Вот мой HTML:

<textarea id="myEditor" name="description"></textarea>

Как мне правильно получить текст из редактора TinyMCE? Может, я что-то делаю не так?

Проблема в том, что TinyMCE заменяет textarea своим iframe’ом, поэтому jQuery не может достучаться до оригинального элемента. Используй метод tinymce.activeEditor.getContent() для получения текста. Это работает даже если у тебя несколько редакторов на странице. Если нужно получить значение конкретного редактора по id, то tinymce.get(‘myEditor’).getContent(). Главное не забудь вызывать это после полной инициализации TinyMCE.

да, с tinymce бывает непросто. я тоже сталкивался с похожей проблемой. попробуй использовать событие change редактора, чтобы получать актуальное содержимое. примерно так:

tinymce.init({
selector: ‘textarea#myEditor’,
setup: function (editor) {
editor.on(‘change’, function () {
var content = editor.getContent();
console.log(content);
});
}
});

это позволит отслеживать изменения в реальном времени. а когда нужно будет сохранить - просто возьми последнее значение из консоли. надеюсь, это поможет решить твою задачу!

Для получения содержимого TinyMCE нужно использовать его API, а не jQuery. Попробуй так:

var description = tinymce.get(‘myEditor’).getContent();

Это должно сработать, если у тебя правильно настроен селектор при инициализации. Если все еще не получается, проверь, что редактор точно инициализировался и ID совпадает. Дай знать, если будут еще вопросы!