【问题标题】:TinyMCE textarea can't editTinyMCE 文本区域无法编辑
【发布时间】:2012-08-17 17:42:45
【问题描述】:

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

});

【问题讨论】:

  • 如何将第二个文本区域添加到页面中?
  • 使用 jquery .clone() 和 .append() 我也将它命名为 textarea2

标签: javascript jquery tinymce


【解决方案1】:

我似乎无法让.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 并将其附加到容器中(使用页面上所有文本区域的计数作为它的 ID 使其唯一),然后重新调用 tinyMCE 初始化程序。

Example jsFiddle

【讨论】:

  • 它使用 .createElement 工作!好像 jquery .clone() 有问题?
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2013-03-04
    • 1970-01-01
    相关资源
    最近更新 更多