7

これが問題です。私のphp送信ページには、現在TinyMCEを使用しているテキストエリアを含む複数のフィールドを持つフォームがあり、既存のフォームを複製するオプションもあります。問題は、複製された 2 番目のエディターを編集することはできませんが、エディターはテキストエリアの場所に表示されます。ただし、最初のエディターを編集および保存できます。それがバグなのか、それとも私が何か間違ったことをしているだけなのかわかりません。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();
});

});
4

2 に答える 2

4

.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 初期化子を再度呼び出します。

例 jsFiddle

于 2012-08-22T10:47:45.707 に答える
1

テキストエリアの ID が異なることを確認してください。そうしないと、2 番目のエディター インスタンスが作成されません。これは、tinymce エディター インスタンスを作成する際に重要なことです。

于 2012-08-22T10:41:30.880 に答える