2009-12-17 132 views
4

我正在使用JSF的命令按鈕。我不知道爲什麼我不能調用我的JavaScript函數。單擊按鈕時,不會顯示警報。JSF CommandButton onclick不會調用Javascript函數

<h:commandButton id="login" value="Login" action="login" 
    onclick="return checkPasswords();" type="Submit" /> 

我的JavaScript函數:

function checkPasswords() { 
    alert("test"); 
    return false; 
} 
+0

哈哈聯合攻擊戰鬥機。 ;-) – 2011-04-19 11:04:37

回答

5
  1. 檢查生成的代碼(打開網頁 - >查看源代碼)
  2. 檢查JavaScript控制檯(火狐)的錯誤
  3. 確保你的功能是從一個正常<input type="button">
  4. 調用小寫的按鈕類型。

否則,它應該工作 - 我在我的當前代碼庫中有完全相同的代碼段,完美地工作。

2

這是工作

<script type="text/javascript"> 
function checkPasswords() { 
    alert("test"); 
    return false; 
} 

<h:commandButton id="login" value="Login" action="login" 
      onclick="checkPasswords();" type="submit"/> 
2

在類型= 「提交」 小寫給S,該類型屬性設置按鈕創建的類型這個組件。該屬性的有效值是「提交」和「重置」。此屬性的默認值是「submit」。

+0

這可能不可能成爲問題的原因。你已經說過,默認是「提交」。如果由於某些原因「提交」錯誤,那麼將使用「提交」。我很驚訝你爲這個錯誤的答案很快得到了2個upvotes。這意味着那些提升者本身對JSF一無所知,並且認爲一切都是正確的。 – BalusC 2009-12-17 11:56:58

+0

默認爲「提交」,如果類型在標籤中給出,它將檢查值「提交」或「重置」,如果不符合預期,它將不會提交。 – valli 2009-12-17 12:15:25

+0

因此,你根本沒有測試它,或者你正在使用一個有錯誤的舊JSF版本。 – BalusC 2009-12-17 12:17:35