2014-02-23 69 views
0

在我使用的一個表單中,我稱之爲Javascript函數。雖然函數返回false,但表單被提交併且調用操作方法。基於在<h:commandbutton>中通過onclick屬性調用的Javascript函數提交

我像這樣使用

<h:commandButton onclick="test();" action="{#bean.menthod}"> 

測試 - JavaScript方法返回布爾值false。

以上不工作。下面提到的代碼單獨工作。我想知道爲什麼

<h:commandButton onclick="if(test) return true;else return false" action="{#bean.menthod}"> 

回答

1

它不工作,只是因爲test()函數的結果沒有返回給組件。

它應該工作與

<h:commandButton onclick="return test()" action="{#bean.menthod}"> 

預期,這是完全一樣的第二種情況,但簡化。

+0

我想知道爲什麼測試結果不會返回到組件,雖然test()方法返回錯誤 – user3263117

+0

,因爲您在調用函數之前沒有放置'return' :) –

+0

感謝您的建議。頭痛消失了,現在我可以輕鬆休息:) –

0

在一天結束時,您的h:commandButton將成爲HTML表單提交按鈕。即<input type="submit" .../>

當提交按鈕返回false時,通常表單不會被提交。

0

謝謝..這幫了我很多。在這裏,我錯過了簡單的邏輯,即在這個onclick函數中,我返回false而不是true,這是停止要調用的動作。 最後,我將返回值更改爲true,並解決了我的問題。

相關問題