2012-11-06 163 views
0

我使用的工具欄控件工具欄「取消」按鈕,並有幾個動作就可以允許用戶切換文檔模式,保存,返回視圖等我怎樣才能複製使用

我想添加一個取消按鈕以允許用戶取消他們的編輯並將他們切換回閱讀模式。

由於所有這些操作共享相同的事件(我在計算操作組中使用簡單操作),因此無法檢查「不驗證或更新數據」。如果我執行context.redirectToPage("newpage.xsp")將導致驗證發生。

我希望能夠「取消」驗證,然後執行一些操作,如切換到讀取模式或另一個XPage。有什麼建議麼?

我想我需要一個context.DontSave()方法......有沒有一種方法可以用來在提交時禁用驗證/更新?

感謝,

霍華德

回答

0

您可以創建一個獨立的取消按鈕放棄修改並重新加載當前頁面。在下面我的例子中沒有考慮到當前頁面可以包含參數,如editDocument,documentId等

<xp:button id="cancel" value="Cancel" rendered="#{javascript:document.isEditable()}"> 
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="true" save="false" id="eventHandler1"> 
     <xp:this.action> 
      <xp:actionGroup> 
       <xp:openPage name="#{javascript:view.getPageName()}"></xp:openPage> 
      </xp:actionGroup> 
     </xp:this.action></xp:eventHandler> 
</xp:button> 
+0

使用context.getUrl()而不是view.getPageName(),您將獲得完整的URL與params –

+0

謝謝,但是,不能使用按鈕,我使用的工具欄控件只有一個事件,onItemClick爲所有菜單選項。所以,我無法設置直接屬性,因爲工具欄上的其他選項無法工作......它必須是在onItemClick中運行的SSJS代碼中的解決方案,以某種方式指出驗證不應該發生。 – Howard

+0

我的想法是,你添加這個按鈕旁邊的工具欄按鈕(因爲你要求一種方法來添加一個取消按鈕) –