先看下面的 JSF 頁面:


























































這個頁面使用 JavaScript 來確認登錄時用戶名和密碼是否為空,表單名為 formLogin,兩個輸入組件名為 txtUsername 和 txtPassword,當單擊按鈕時,將調用 JavaScript 函數 isEmpty(),根據條件判斷顯示對話框或是提交表單。
要注意的是,不能在 JavaScript 函數中使用如下類似語法來訪問表單組件:
document.formLogin.txtUsername.value;
而應使用:
document.getElementById("formLogin:txtUsername").value;
或者:
document.forms.formLogin["formLogin:txtUsername"].value;
這是因為 JSF 解釋上面的 <h:form id="formForm">...</h:form> 一段時會生成如下代碼:




















JSF 產生的所有表單控件都有符合 formName:componentName 格式的名稱,這里的 formName 表示控件的表單的名稱,而 componentName 表示組件名稱。如果沒有指定 id 屬性,則 JSF 框架會自動創建標識符,就象上面的 HTML 片段中的按鈕一樣。因此,要訪問上面的用戶名字段,必須使用下列方法:
document.getElementById("formLogin:txtUsername").value;