动态添加TinyMCE时出现问题

动态添加TinyMCE时出现问题

问题描述:

我有一个页面,我用javascript将textareas添加到DOM,我希望他们有一个附加的TinyMCE编辑器。动态添加TinyMCE时出现问题

当我添加第一个textarea一切都很好。问题发生在下一个添加。 它看起来像这样: http://dl.dropbox.com/u/1918752/tinymce_problem.png

在萤火虫控制台,有一个“d是未定义的”错误抛出。

我使用

tinyMCE.execCommand("mceAddControl", false, 'textarea_id'); 

添加TinyMCE的控制,新插入的文本区域。

我正在使用TinyMCE版本3.0.1,不幸的是升级现在不是真正的选择。

后来编辑:

我用插入文本域功能:

function add_fields(link, association, content) { 
    var new_id = new Date().getTime(); 
    var regexp = new RegExp("new_" + association, "g"); 
    var reg = new RegExp("child_", "g"); 
    $(link).up().previous('ul').insert(content.replace(regexp, new_id).replace(reg, "child_"+new_id)); 
    if($('estore_products_category_children_attributes_'+new_id+'_description')) { 
     tinyMCE.execCommand("mceAddControl", false, 'estore_products_category_children_attributes_'+new_id+'_description'); 
    } 
} 

含量参数就是textarea里。 这是在一个Rails应用程序中使用的,我创建了一个帮助器,它根据所使用的关联类型返回一个标准html块,然后用新的唯一元素替换泛型ID并插入到DOM中。

+0

您的文字区域是否有不同的ID?如果是的话,你在第二个文本区域添加TinyMCE时使用了正确的ID吗? – Ben 2011-05-29 13:06:10

+0

是的,那是我检查的第一件事。 – adivasile 2011-05-29 13:07:30

+0

我想你可能不得不向我们展示你用来添加textareas和TinyMCE的确切代码。 – Ben 2011-05-29 13:14:20

我想你没有正确地关闭tinymce为了撤消edito实例具有相同的ID!

要关闭一个编辑器实例正确使用:

tinyMCE.execCommand("mceRemoveControl", false, 'textarea_id'); 

当您移动编辑器中的DOM内或当您删除包含iframe的编辑DOM的部分这是必要的。

+0

我不认为我明白你的意思。我不想删除TinyMCE,我只是想将控件添加到更多textareas。textareas也有唯一的ID。 – adivasile 2011-05-30 12:06:11

+0

好吧,我以为你会删除实例。请发布完整的tinymce init – Thariama 2011-05-30 12:48:46