我正在使用A4J Richfaces開發Web應用程序。 我的一個要求是,我需要檢查用戶是否在嘗試從頁面導航時更改表單中的任何值。攔截a4j:commandButton請求
我有保存和取消頁面中的按鈕。 我正在使用a4j:command
按鈕取消功能。點擊取消按鈕應該做以下事情
- 檢查用戶是否在表單中修改的任何東西(這我使用javascript和有標誌做的,如果用戶更改的任何值)
- ,顯示確認對話框(JavaScript的與價值確認「你真的要放棄更改 - YES NO」),當用戶改變表單值
- 如果用戶說YES,然後提交使用AJAX的形式(通過使用A4J)
我A4J命令按鈕代碼是這樣的
<a4j:commandButton action="MyClass.cancel_action"
onclick="checkIsPageChanged()"/>
問題這裏,在使用使用a4j:commandButton
,我不能叫中間javascript函數,然後提交使用Ajax請求(這將檢查用戶是否已更新的值,並且顯示確認對話框的功能)。 我已經看過由JSF生成的代碼,代碼如下(不準確的,但較好語法)
<input type="button"
onclick="checkIsPageChanged();AJAX.submit('')/>
的事情是當我點擊鏈接,它僅調用checkIsPageChanged()
,而不是調用AJAX.submit()
。
任何解決方法,這將幫助我。
預先感謝您。
你的代碼有效,但應該澄清,返回'true'也不會提交請求。請參閱https://community.jboss.org/thread/3755?start=0&tstart=0&_sscc=t 實際上,'onclick =「!isPageChanged()」'將不起作用。 – 2013-11-08 12:58:05