1

ApplicationLayout コントロール (8.5.3 UP1) を使用しており、基本ノードを追加してタブとして表示します。クリックしたときにタブで JavaScript を実行して、sessionScope 変数を設定する必要があります。onClick に sessionScope.put がありますが、タブをクリックしたときに変数が正しく設定されません。

さらに悪いことに、ページのソースを見ると、タブについて次のように表示されます。

<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>

最初の li には href または onclick コードが含まれておらず、他の 2 つの li エントリには、正しくない href および onclick パラメータのように見えるもの (および onclick がラベルと一致していない) があることに注意してください。

コントロールで確認できることから、これは機能するはずです。ノードの href プロパティに何もない場合は、onClick コードを実行する必要があります。これを機能させるための考えやアイデアをいただければ幸いです。ありがとう。

4

1 に答える 1

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>
于 2012-02-15T16:56:12.613 に答える