У меня есть форма, в которой я статически создаю редактор 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 (), и я вижу, что идентификатор текстового поля правильный. Но текстовое поле не отображается как редактор TinyMCE.
Чего не хватает в моем коде?
Я видел этот Как динамически добавить tinymce 4.x в текстовое поле?, и поэтому я попытался добавить функцию tinymce.init () после моего вызова append (), но это ничего не меняет, и, поскольку вызывается мой исходный tinymce.setup (), я не думаю, что проблема здесь.