1

拡張ライブラリのウィジェット コンテナーを使用しようとしています。具体的には、SSJS を実行するオプションを含むドロップ ダウン ノードを追加したいと考えています。

ウィジェット コンテナで基本的なリーフ ノードを使用する場合、興味深いオプションが 2 つあります。「onClick」は、まさに私が望むことをしているように見えます。ただし、ノードがクリックされたときだけでなく、ノードが作成されたときにコードが起動します。実際には常に発火しているようです。

submitValue もあります。Extに例があるので、そこにコードを入れてみました。249ページの図書館の本(SafariBooksOnlineバージョン)ですが、そのコードを実行することができなかったようです。

<xe:this.dropDownNodes>
<xe:basicLeafNode label="New Category">
<xe:this.onClick><![CDATA[#{javascript:print("onClick Code")
}]]></xe:this.onClick>
<xe:this.submitValue><![CDATA[#{javascript:print("SubmitValue Code");
sessionScope.put("currentDoc", "");
viewScope.put("showSub", false)
var c = getComponent("dynamic")
c.show("cat")}]]></xe:this.submitValue>
</xe:basicLeafNode>
<xe:basicLeafNode label="Another option"></xe:basicLeafNode>
</xe:this.dropDownNodes>

私がやろうとしているのは、この完了呼び出しコードでスコープ変数を設定し、ページ上の動的コントロールを更新することです。理論的には、部分的な更新が必要だと思いますが、それを設定する方法がわかりません。

私が与えたコード例では、物事がクリックされていないときに onClick が実行され、submitValue には、興味のあるコードがまったく起動していないようです。

アドバイスをいただければ幸いです。ありがとう

4

1 に答える 1

2

どうやら ApplciationLayout コントロールの内部では、basicLeafNode の onclick メソッドは SSJS 呼び出しを置く場所を定義していませんが、実際には CSJS を実行する場所を定義しています。また、submitValue は値を入れる場所であるため、求めている動作を取得するには、submitValue を「NewCategoryClick」などに設定し、applicationLayout の下に、submitValue == " NewCategoryClick" をクリックしてから、定義した SSJS コードを実行します。

于 2012-07-14T12:18:57.083 に答える