TinyMCE textarea无法编辑

时间:2012-08-22 10:05:35

标签: javascript jquery tinymce

这是问题所在。在我的php提交页面中,我有一个包含多个字段的表单,包括当前正在使用TinyMCE的textarea,我还有一个复制现有表单的选项。问题是我无法编辑重复的第二个编辑器,但编辑器出现在textarea的地方。但是我可以编辑并保存第一个编辑器。我不确定它是一个错误还是我做错了什么?我也尝试更新TinyMCE但是没有用......有什么想法吗?

function initTinyMCE() {
   tinyMCE.init({
       mode : "textareas", //mode : "exact", elements : "mytextarea"
       theme : "simple"
   });
}
initTinyMCE();


$(document).ready( function(){
    $('a#addmore').live('click', function(){

         //*clone the existing form and inserting form here*
         initTinyMCE(); 
    });

    $('a#toSubmit').live( 'click', function() {
      tinyMCE.triggerSave();
      $('.editwork-form').submit();
});

});

2 个答案:

答案 0 :(得分:3)

我似乎无法使.clone()工作,也无法在调试控制台中工作。但是,我的工作解决方案如下,这可能有帮助吗?

initTinyMCE();

$("#append").live("click", function() {
    var ta_count = $("textarea").length;

    var elem = document.createElement("textarea");
    $(elem).attr("id", ta_count.toString());
    $(elem).appendTo("#ta_container");

    initTinyMCE();
});

function initTinyMCE() {
    tinyMCE.init({
        mode: "textareas",
        theme: "simple",
        theme_advanced_path: false
    });
}​

而不是.clone()元素,我只是创建一个新的textarea并将其附加到容器(使用页面上所有textareas的计数作为它的ID以使其唯一) ,然后重新调用tinyMCE初始化器。

Example jsFiddle

答案 1 :(得分:1)

确保您的textareas具有不同的ID,否则将不会有第二个编辑器实例!在创建tinymce编辑器实例时,这是至关重要的。