2011-09-15 10 views
0

私のページで、ボタンをクリックすると、テキストエリア(tinyMCE)を持つdivが表示されます。私はそのdivのクローズボタンを持っています。私がdivを開いたら、私の仕事をして、divを閉じて、divを再び開いて、tinyMCEのエディタは表示されません。 ここに私の問題の要約があります 1)ボタンをクリックしてonclick = "doAjax()"を返し、DIV に戻り値を表示します。2)そのDIVには、tinyMCEのテキストエリアがあります。すべてOKです。 3)divを閉じる(実際には、DIVだけfadeOut())すべてがOKです。 4-ステップ1のボタンをもう一度クリックして、onclick = "doAjax()"を返し、戻り値をa DIV 5)そのDIVでは、TINYMCEとのテキストはありません! 私はそのうちのいくつかを使用してみましたが、それはこのコードは、初回のみのためではなく、2回目以降のためのTinyMCEを示し2回のajaxコール後のtinyMCE

if (tinyMCE.get === 'undefined') 
{ 
    tinyMCE.execCommand('mceRemoveControl', false, 'message'); 
    tinyMCE.execCommand('mceAddControl', false, 'message'); 
} 

を動作させることができませんでした。どんな解決策ですか?

-----------------------解決策---------------------- ------------ Okey。私は解決策を見つけた

var oldEditor = tinyMCE.get('message'); 
if (oldEditor != undefined) { 
    tinymce.remove(oldEditor); 
} 
tinyMCE.execCommand('mceAddControl', false, 'message'); 

それはうまく動作します!

+0

それを初期化する前にも、元に表示されますか? – SJuan76

+0

申し訳ありません。それはPHPコードでしたが、私は他のものを削除しましたが、その2つを忘れてしまいました。 – Yunus

+0

解決策を見つけたら、答えとして投稿して受け入れるべきです。 –

答えて

0

あなたのコメントを回答として投稿しました。

var oldEditor = tinyMCE.get('message'); 
if (oldEditor != undefined) { 
    tinymce.remove(oldEditor); 
} 
tinyMCE.execCommand('mceAddControl', false, 'message'); 

見つけたら、時間をかけて回答を投稿することを検討してください。

おかげで、
Sworoop

1

は同じ問題に出くわしたと基本的にはインスタンスのすべてを削除することによってそれを解決したザ・は「\単一引用符をエスケープ再び

tinymce.remove(); 
tinymce.init({selector: 'textarea'}); 
関連する問題