【发布时间】:2015-09-24 03:11:56
【问题描述】:
我有一个表单,我可以在其中静态创建一个运行良好的 TinyMCE 编辑器。
现在,我想动态添加一个文本区域,我想将其渲染为 TinyMCE 编辑器。
根据我在网上找到的,我写了如下代码:
function add_new_agpoitext() {
$("#agpoitextslist").append(
'<div class="row"> \
<div class="col-md-8"> \
<input type="hidden" name="agpoitexts[' + next_agpoitext + '][sequence]" value="' + next_agpoitext + '"/> \
<div class="form-group textarea"> \
<label class="control-label" for="agpoitexts-' + next_agpoitext + '-paragraph"><?=__("Paragraphe ");?>next_agpoitext + ":"</label> \
<textarea name="agpoitexts[' + next_agpoitext + '][paragraph]" class="form-control" placeholder="Texte" rows="5" id="agpoitexts-' + next_agpoitext + '-paragraph"></textarea> \
</div> \
</div> \
</div>');
next_agpoitext = next_agpoitext + 1;
var textAreaID = "#agpoitexts-" + next_agpoitext + "-paragraph";
$(textAreaID).ready(function(){
tinyMCE.execCommand('mceAddEditor', true, textAreaID);
});
return 1;
}
TinyMCe的初始化函数如下:
tinymce.init({
selector: "textarea",
....
setup : function(ed) {
...
},
});
所以当我调用 add_new_agpoitext() 时,tinymce.init() 被调用,我可以看到 textarea id 是正确的。 但是 textarea 不会呈现为 TinyMCE 编辑器。
我的代码中缺少什么?
我看到了这个How to add tinymce 4.x dynamically to textarea?,所以我尝试在我的 append() 调用之后添加 tinymce.init() 函数,但它没有改变任何东西,因为我原来的 tinymce.setup() 被调用了,所以我没有不要认为问题出在这里。
【问题讨论】:
标签: javascript jquery html tinymce-4