2011-01-24 9 views
1

私は複数のTinyMCEインスタンスを持つフォームを持っています。 リピーターコントロールを使用してTextAreaコントロールを動的に作成しました。それらはすべて同じIDを持っていますが、私はそれぞれ異なるクラスを与えました。 TinyMCE Init関数の editor_selector:オプションを使用して、各TextAreaコントロールにTinyMCEインスタンスを割り当てました。クラス別にTinyMCEインスタンスを取得する

tinyMCE.init({ mode : 'textareas',theme : 'simple',editor_selector : 'upperBlock',directionality : 'rtl'}); tinyMCE.init({ mode : 'textareas',theme : 'simple',editor_selector : 'middleBlock',directionality : 'rtl'}); 

私は、JS関数内の特定のTinyMCEインスタンスを参照し、その内容を取得したいと考えています。各TextAreaコントロールを使用して行うことで可能性が異なるIDがある場合には :

tinyMCE.get('IdOfYourTextBoxWithTheTinyMCEContent').getContent() 

する方法はありますeditor_selectorにそれに割り当てられたクラスによって、特定のTinyMCEのインスタンスのコンテンツへの参照を取得しますTinyMCE Init関数のオプション?

ありがとうございました

+0

こんにちはが、残念ながら何の答えはまだへの答えを与えないようにあなたが持っているすべてのエディターの間で反復することができます私の質問。それに割り当てられたクラスによって特定のTinyMCEインスタンスのコンテンツを取得するためのAPI関数があります。あなたは解決策を与えない答えを受け入れるように私に感謝しますか? (そうすることによって、私は他の読者を誤解させます) – ProgNet

+0

いいえ、具体的にはこの質問ではありませんが、あなたはいくつかのことが起こっています:) –

+0

あなたの質問の履歴と答えを読むことは大歓迎です。あなたがそれをした後で、私が適切な応答なしで残した私の質問に対する良い答えがあるかどうかを判断することができます。あなたが1つ以上見つけたら、私に知らせてください。レートチェックの内容に) – ProgNet

答えて

6

これはネイティブのTinyMCEメソッドでは実行できません。たとえば、自分のためにループする必要があります。

for (edId in tinymce.editors) { 
     if (tinymce.editors[edId].settings.editor_selector == 'upperBlock') { 
     // editor found - do something 
    } 
} 
+0

あなたの良い答えをありがとうございました:)私はいくつかのそれぞれのエディタのために2つの異なるedIdsがあるのでcondtionが真であるようにいくつかの問題を抱えています:Func(){ アラート(「Inside Func関数」); var i = 1; (登録商標)のための 。編集者){ アラート( "edId:" + edId); if(tinymce.editors [edId] .settings.editor_selector == 'upperBlock'){ アラート( "index:" + i); } i ++; } }私は3つのTextAreaコントロールと3つのTinyMCEインスタンスしか作成せず、upperBlockの値は – ProgNet

+0

です。 dokuで述べたように、 'mode_type 'を' specific_textareas'に設定しましたか? http://tinymce.moxiecode.com/wiki.php/Configuration:editor_selector – acme

+0

ありがとうございました。私はまだ最初のI getedId:例えばctl00_MainContent_EditorialTextTextAreasUC_rptTextAreas_ctl01_txtAreaとedId:0の各インスタンスに対して2つの値を取得します。 2番目のインスタンスの場合、私は取得したID:ctl00_MainContent_EditorialTextTextAreasUC_rptTextAreas_ctl02_txtAreaとedId:1など – ProgNet

2

あなたは間違っています。同じIDを持つ要素がHTMLには存在しません。それらに同じクラスとdiffirentなIDを与えてください。

+0

必ずしもそうではありません:もし彼がasp-textboxを使用していれば、idはスコーププレフィックスを得てページ上で一意であるかもしれません... –

+0

あなたの答えをありがとう。 – ProgNet

+0

この回答があなたの問題を解決した場合は、その答えを解決策として受け入れるべきです! –

0

エディタをクラス別に取得する場合は、まずこのプロパティをエディタに設定する必要があります。

tinymceOptions: { 
        mode: 'specific_textareas', 
        editor_selector: "yourClassName" 
       } 

そして、あなたのテキストエリアは次のようになります:

<textarea class="yourClassName"></textarea> 

、その後、あなたは

tinymce.editors.forEach(function(editor) { 
     if (editor.settings.editor_selector === 'yourClassName') { 
     // do what you want! 
    } 
}); 
関連する問題