Пару дней назад столкнулся с одной интересной проблемой. У меня имеется поле textarea на которое инициализирован tinymce. При определённых манипуляциях с селект боксом я подгружаю данные в эту textarea на ajax. Если отключить tinymce, то информация как надо заполняется в textarea. Но если включён tinymce то ничего не происходит, а точнее содержимое в редактор не подгружается. Копаясь с переинициализацией редактора я придумал интересный способ динамической подгрузки данный в текстовое поле.
Смысл заключается в том чтобы отключить редактор на необходимое текстовое поле, далее подгрузить в него данные (в текстовое поле) и снова включить редактор.
Выглядит это следующим образом:
tinyMCE.execCommand('mceRemoveControl', false, 'name'); tinyMCE.execCommand('mceRemoveControl', false, 'text_full'); $("#name").val($("#name_tmp").val()); $("#description").val($("#description_tmp").val()); tinyMCE.execCommand('mceAddControl', false, 'name'); tinyMCE.execCommand('mceAddControl', false, 'text_full');
Вот и всё. Решение достаточно интересное.
Можно ли поподробней описать каждую строчку? Параметры функций, что обозначают идентификаторы: #name, #name_tmp и т. д.
Это селекторы JQuery
Айди текстареа, в которые мы подгружаем данные.
У вас они могут отличаться.
$(«#name»).val($(«#name_tmp»).val()); — тут мы вставляем новые данные (можно вставить данные полученные на ajax) в textarea с id=»name» из id=»name_tmp»
Следующая строка аналогична.
А если так?
tinyMCE.activeEditor.execCommand(‘mceInsertContent’, false, ‘some html’);