在jQuery clone中创建一个小MCE的克隆

时间:2013-01-09 10:47:40

标签: jquery tinymce

我必须创建一个表单的克隆,我已经像下面那样制作了。

        <div id="form-field" class="form">
            <input type="text" name="coursename" id="firstname" value="coursename" />
            <input type="text" name="institutename" id="institutename" value="institutename" />
            <input type="text" name="startdate" id="startdate" value="startdate" />
            <input type="text" name="enddate" id="enddate" value="enddate" />
            <textarea name="content" style="width:100%"></textarea>
            <label for="education-info">Educational Information</label>              
        </div>      
        <!-- clearfix -->
        <div class="clear"></div>
        <!-- /clearfix -->
        <input class="submit" type="submit" name="submit_second" id="submit_second" value="" />

现在我使用写下来的jquery来创建上述表单的克隆。但我不能得到这个小MCE编辑器。我怎样才能获得完整的MCE编辑器。

我的jQuery用于克隆表单。

  jQuery('.addeducation-sym').click( function(){
    jQuery('#form-field').clone().appendTo('#form-field');
  });

2 个答案:

答案 0 :(得分:1)

如果您尝试复制已经初始化的tinymce表单,则会失败。

如果您在复制表单后初始化tinymce,则需要确保您获得编辑器的html元素具有唯一ID。此ID将用作编辑器ID,如果您尝试初始化具有相同ID的两个编辑器,则会出现错误。

答案 1 :(得分:1)

如果基本元素(例如textarea)上有一个ID,而且它也被克隆,那么你有两个具有相同ID的元素。在HTML中不允许,并且因为tinymce从元素ID获取它的实例ID,默认情况下克隆不起作用。

诀窍是先用

删除编辑器
tinymce.remove();

然后使用jquery克隆你的元素。

在将克隆元素写入DOM之前,您需要将任何克隆元素的ID重命名为具有唯一ID。

然后将克隆写入DOM,然后调用

tinymce.init(TINYMCE_SETTINGS);

其中TINYMCE_SETTINGS是您所有设置的对象。