2013-07-28 107 views
2

將一組操作添加到XPage上的事件(例如Button onClick())時,是否有任何機制可以根據先前操作的結果控制後續操作是否應該發生?執行多個操作

回答

4

從任何操作中返回false會自動取消序列的其餘部分。

+0

我有一個「執行腳本」,然後按下「保存文檔」按鈕。無論我從SSJS返回什麼,querySaveDocument事件都會被觸發。當我刪除「保存文檔」時,該事件不會被解僱。我還沒有找到取消保存的方法。如果我從SSJS保存事件不會被執行,所以看起來我需要使用「保存文檔」操作。 –

+0

通過以下代碼解決:https://openntf.org/XSnippets.nsf/snippet.xsp?id=save-datasource-fire-querysavepostsave-events –

1

您可以通過在事件選項卡中選擇此操作組並按下'編輯'按鈕來編輯操作組。 然後將任何條件代碼(服務器端JavaScript,表達式語言或自定義)添加到 操作組。

當條件爲真時,動作組動作執行一組簡單動作。

0

首選的方法是將您的邏輯封裝到Java代碼中並調用單個方法來執行操作。

如果你想要它與組,它有一個選項來設置/讀取requestScope變量,並根據它的值分支你的事件處理程序。不建議。

+0

該場景涉及調用bean中的方法,然後執行簡單的動作到移動應用程序頁面。經驗告訴我,除了一個簡單的動作可能導致一大堆不需要的副作用之外,通過任何方式避免試圖實施MoveTo。 –

+0

只有Java方法的返回值如此表示時,纔可以執行最後一條語句。 –

+0

並根據經驗:簡單的操作只不過是Java代碼。查看ExtLib源代碼,瞭解這個簡單操作的背後...... –