2011-07-15 9 views
0

私は以下のように私はINITをロードする最初のタブのビューでAJAXTinyMCEの問題

によってロードされているjQueryのタブでTinyMCEをを実装しようとしている:

$("#tabs").tabs({ 
     load:function(event, ui){ 
      if(ui.index==5){ 
      if(typeof TinyMCE == "undefined") { 

      tinyMCE.init({ 
       // General options 
       mode : "specific_textareas", 
       editor_selector : "mceEditor", 
       theme : "simple", 
      }); 
     } 

タブ5にはテキストエリアが含まれています。

初めてタブを読み込むと、TinyMCEフィールドでテキストエリアが変更されます。 私はこの問題はそれだけで、このタブがロードされた初めての作品であり、

var note = tinyMCE.get('note').getContent() 

を使用して、このテキストエリアの内容を取得することができます。別のタブを押して、タブ5に戻ると、IDはすでにtiny_mce IDで変更されています。だから私はタブを押すと初めてコンテンツを得ることができます。

誰もがこの問題の解決方法を知っていますか? ありがとう!

答えて

0

他のタブに切り替える前にtinymceインスタンスをシャットダウンする必要があります。そうしないと、そのIDを持つエディタ要素がブロックされます。

あなたは

// the_editor_id equals the id of the underliing textarea 
tinyMCE.execCommand('mceRemoveControl', false, the_editor_id); 
+0

を使用して、タブを切り替える前にコントロールを削除する(ui.indexは<5)if文私はelseifをして、この行を入れたとき、私はまだ何の違いも表示されません。私はthe_editor_idを 'note'に変更しました。 – Tronar

+0

もちろん、tabchangeの後にaddControlコマンドを使ってエディタを初期化する必要があります – Thariama

+0

あなたの答えをありがとう。これは1つのテキストフィールドで機能しています。多くのテキストフィールドでこれを使用したい場合はどうすればよいですか? IDの代わりにクラスでこれを行う方法はありますか? – Tronar

関連する問題