2012-03-05 1 views
2

ОК, поэтому у меня есть полная система ajax, каждая загруженная страница обрабатывается, хотя ajax ее много грязного кода в данный момент, поэтому я не буду показывать вам.TinyMCE jQuery ajax из не отображается после сохранения

Проблема в том, что когда я перехожу к своему контенту, который загружает TinyMCE, он работает отлично, один раз, то после отправки формы он использует remove() на элементе TinyMCE, а затем, когда это будет сделано, он получит контент из сервер, то у него есть текстовое поле для TinyMCE, и он загружает странную вещь, поскольку содержимое не отображается, но если я нажму кнопку HTML, содержимое будет находиться в текстовом поле TinyMCE.

Я попытаюсь показать, чтобы объяснить немного лучше, используя как можно меньше кода, как Возможное

так это вызов TinyMCE каждый раз, когда conent перезагружается с сервера

$(".addonContent form textarea.tinyMCE").tinymce({ 
     // Location of TinyMCE script 
     script_url : '/script/tiny_mce/tiny_mce.js', 

     // General options 
     theme : "advanced", 
     plugins : "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,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect", 
     theme_advanced_buttons2 : "cut,copy,paste,pasteword,|,bullist,numlist,|,blockquote,|,undo,redo,|,link,unlink,anchor,image,code,", 
     theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,charmap,emotions,media,|,ltr,rtl,|,fullscreen", 
     theme_advanced_buttons4 : "", 
     theme_advanced_toolbar_location : "top", 
     theme_advanced_toolbar_align : "left", 
     theme_advanced_statusbar_location : "bottom", 
     theme_advanced_resizing : true, 

     // Example content CSS (should be your site CSS) 
     content_css : "/style/style_content.css", 

     // Drop lists for link/image/media/template dialogs 
     template_external_list_url : "lists/template_list.js", 
     external_link_list_url : "lists/link_list.js", 
     external_image_list_url : "lists/image_list.js", 
     media_external_list_url : "lists/media_list.js", 

     // Replace values for the template plugin 
     template_replace_values : { 
       username : "Some User", 
       staffid : "991234" 
     } 
    }); 

И это отлично работает в первый раз

теперь мой ajaxForm код запуска и непосредственно перед тем, представляет данные на сервер он вызывает

$(".addonContent form textarea.tinyMCE").tinymce().remove() 

но тогда, когда содержание возвращается и Tiny MCE нагрузки он не будет отображаться содержимое в редакторе, но если я нажмите на кнопку HTML содержание показывает

EDIT Это, кажется, ошибка с TinyMCE и Google Chrome, поскольку приведенный ниже код работает с IE8 + и работает с Firefox, я сейчас пытаюсь CKeditor.

+0

+1 Хорошее описание вопроса – Thariama

ответ

0

Перед загрузкой второго с одним и тем же идентификатором вам нужно закрыть экземпляр tinymce editro. Используйте здесь mceRemoveControl execCommand.

+0

Нет, жаль, что это не работает для меня делает то же самое –

+0

Вы все еще называете это: $ (". AddonContent form textarea.tinyMCE"). Tinymce(). Remove() ?? – Thariama

+0

Нет, я не просто вызываю, '$ (". AddonContent form textarea.tinyMCE "). Tinymce(). ExecCommand ('mceRemoveControl');' –

Смежные вопросы