7

这是问题所在。在我的 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();
});

});
4

2 回答 2

4

我似乎无法开始.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()ing 元素,我只是创建一个新元素textarea并将其附加到容器中(使用页面上所有 textareas 的计数作为它的 ID 使其唯一),然后重新调用 tinyMCE 初始化程序。

示例 jsFiddle

于 2012-08-22T10:47:45.707 回答
1

确保你的文本区域有不同的 id,否则不会有第二个编辑器实例!这在创建 tinymce 编辑器实例时至关重要。

于 2012-08-22T10:41:30.880 回答