Получить текст TinyMCE для jQuery.serialize()

Проблема отправки данных TinyMCE через jQuery.serialize()

Если Вы читаете эту статью, то скорее всего Вы собирались отправить форму с активным редактором TinyMCE через AJAX и обнаружили, что значение «textarea» не передаётся обработчику.

Не буду углубляться в подробности, просто предложу кусочек кода, который работает)
$('.btn-submit').on('click', function() { // событие нажатия кнопки отправки формы (не submit!!!)
        if (tinymce.activeEditor === null) { // выход, если нет текущего активного редактора
            return;
        }//
        var text = encodeURI(tinyMCE.activeEditor.getContent()); // получение значения ТЕКСТ текущего открытого редактора
        tinymce.activeEditor = null; // сброс указателя на текущий активный редактор (чтоб не было багов с focus())        
        var fdata = $('form').serialize() + '&text=' + text; // дополнение данных формы данными редактора
        $.post("адрес серверного скрипта", fdata, function(rdata) {
            // обработчик ответа
            }
        });
    });

Итак, из скрипта видно, что для получения значения активного редактора TinyMCE нужно выполнить метод getContent();
var text = encodeURI(tinyMCE.activeEditor.getContent());

Комментарии (1)

RSS свернуть / развернуть
Немного усовершенствовал код, добавил проверку текущего редактора и сброс ссылки на текущий редактор. Это для того, что если на странице появляются несколько редакторов в разных окнах, то скрипт возьмёт текст с последнего активного, а не с того, на который вы смотрите))) Вот для этого после использования нужно обнулить)
// добавленный код
if (tinymce.activeEditor === null) { // выход, если нет текущего активного редактора
   return;
}//
var text = encodeURI(tinyMCE.activeEditor.getContent()); // получение значения ТЕКСТ текущего открытого редактора
tinymce.activeEditor = null; // сброс указателя на текущий активный редактор (чтоб не было багов с focus())        
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
comments powered by Disqus