2012-02-15 4 views
1

ApplicationLayoutコントロール(8.5.3 UP1)を使用していて、タブとして表示される基本ノードを追加しました。クリックするとタブがJavaScriptを実行してsessionScope変数を設定するようにしたい。 onClickにsessionScope.putがありますが、タブがクリックされたときに変数が正しく設定されていません。私は、ページのソースを見ると、これは私がタブを参照するもので、TitleLoadoutコントロール(extlib)の無効なコードを生成するタブバー

さらに悪い:最初のLiがHREFまたはonclickのコードと他の二つのLiを持っていませんか

<ul id="view:_id1:_id2:applicationLayout1_tb" class="lotusTabs lotusTabsIndented"> 

<li class="lotusTabs li"> 
    <div> 
    <a style="text-decoration:none">Ft. Pierce</a> 
    </div> 
</li> 

<li class="lotusTabs li"> 
    <div> 
    <a href="javascript:;" onclick="javascript:Ft. Pierce" style="text-decoration:none">Naperville</a> 
    </div> 
</li> 

<li class="lotusTabs li"> 
    <div> 
    <a href="javascript:;" onclick="javascript:Naperville" style="text-decoration:none">Chicago</a> 
    </div> 
</li> 
</ul> 

をお知らせエントリには不正なhrefとonclickパラメータが表示されます(onclickはラベルと一致しません)。

私がコントロールで見ることができるから、これはうまくいくはずです。ノードのhrefプロパティに何もない場合は、onClickコードを実行する必要があります。私はこれを稼働させるための考えや考えを感謝します。ありがとう。

答えて

4

basicTreeNodeのonClickイベントは、clientSide JavaScriptを実行するために使用されます。説明したsessionScope.putなどのSSJSを置くことはできません。

必要な処理を行うには、basicTreeNodeのsubmitValueプロパティを使用して、sessionScopeをapplicationLayoutコントロールのonItemClickイベントに設定するスクリプトを追加する必要があります。

<xe:applicationLayout id="applicationLayout1"> 
     <xe:this.configuration> 
      <xe:oneuiApplication> 
       <xe:this.titleBarTabs> 
        <xe:basicLeafNode label="Tab 1" submitValue="tab1" /> 
        <xe:basicLeafNode label="Tab 2" submitValue="tab2" /> 
        <xe:basicLeafNode label="Tab 3" submitValue="tab3" /> 
       </xe:this.titleBarTabs> 
      </xe:oneuiApplication> 
     </xe:this.configuration> 
     <xp:eventHandler event="onItemClick" submit="true" refreshMode="complete"> 
      <xe:this.action><![CDATA[#{javascript:sessionScope.put("varName",context.getSubmittedValue())}]]></xe:this.action> 
     </xp:eventHandler> 
    </xe:applicationLayout> 
+0

ありがとう、デーラン、それは働いた!参照の明確化:sessionScope.putは、context.getSubmittedValue()の前に変数の名前を必要とします。 –

+0

あなたの正しい、私はそれをあまりにも速く入力し、それを忘れてしまった。私は混乱を引き起こさないように答えを更新します –

関連する問題