Невозможно отобразить несколько редакторов TIMIMCE на одной странице - PullRequest
1 голос
/ 29 февраля 2012

У меня есть страница, где я использую аккордеон и tinymce вместе.

Для каждого раскрывающегося / свернутого комбо в элементе управления аккордеоном у меня есть кнопка редактирования.При нажатии на кнопку редактирования отображается форма с 2 входами.Первое - это текстовое поле, а второе - текстовая область.

Я хочу, чтобы текстовая область была экземпляром tinymce.Элемент управления аккордеоном имеет несколько элементов управления разворачиванием / свертыванием, и я хочу, чтобы для каждого из них появлялся экземпляр tinymce.

Мой код инициализации tinymce выглядит следующим образом

tinyMCE.init({
    // General options
    mode : "textareas",
    theme : "advanced",
    plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

    // Theme options
    theme_advanced_buttons1 : "bold,italic,underline,|,blockquote,|,justifyleft,justifycenter,justifyright,justifyfull,|,paste,pastetext,pasteword,|,bullist,numlist,|,advhr,|,forecolor,formatselect",
    // theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",
    theme_advanced_buttons2 : "", //"cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
    theme_advanced_buttons3 : "", //"tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
    theme_advanced_buttons4 : "", //"insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
    theme_advanced_toolbar_location : "top",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "bottom",
    theme_advanced_resizing : true,
});

Когда я загружаю страницуна chrome и firefox управление аккордеоном выглядит как положено.Тем не менее, управление tinymce появляется только в первом div коллапса.Остальные элементы div показывают обычные текстовые поля, а не редакторы tinymce.

Я не тестировал IE.

Может кто-нибудь помочь, пожалуйста.Я не уверен, что я делаю неправильно.

Заранее спасибо Puneet

Ответы [ 3 ]

1 голос
/ 13 марта 2012

Устранение этой проблемы гарантировало, что идентификаторы всех элементов textarea были разными.В текстовой области появляется плагин редактора tinymce

1 голос
/ 29 февраля 2012

Попробуйте использовать mode: 'exact', и перечислите все идентификаторы элементов в параметре element.

0 голосов
/ 30 марта 2013

Вы можете отделить код TinyMCE от удаленного файла (например, lib / tinytextarea.html), а затем загрузить его с помощью моего плагина jquery, который изменяет идентификатор для textarea при загрузке из удаленного файла

$.fn.loadChangeTAreaId = function(urlpath,prefix,suffix){
    $(this).load(urlpath, function(data) {
        $(this).find('textarea[id]').andSelf().attr('id', function(index, previous) {

            return prefix+ previous+suffix;
        });
    }) 

Как сделатьиспользовать?

$('#divContainer').loadChangeTAreaId('lib/tinytextarea.html','pre','suf');

если предыдущий идентификатор текстовой области - «elm», новый идентификатор - «preelmsuf»

...