開花流水

          空山無人,水流花開。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            79 Posts :: 42 Stories :: 160 Comments :: 0 Trackbacks

          先看下面的 JSF 頁面:

           

          <%...@ page language="Java" pageEncoding="UTF-8"%>
          <%...@ taglib uri=" <%...@ taglib uri="

          <html>
            <head>
              <title>My JSF 'login.jsp' starting page</title>
              <script type="text/Javascript">...
              function isEmpty() ...{
                var username = document.getElementById("formLogin:txtUsername").value;
                var password = document.getElementById("formLogin:txtPassword").value;
                if(username == "") ...{
                  alert("給老子輸用戶名!");
                  document.getElementById("formLogin:txtUsername").focus();
                  return false;
                }
                if(password == "") ...{
                  alert("不輸密碼你登錄個鏟鏟!");
                  document.getElementById("formLogin:txtPassword").focus();
                  return false;
                }
              }
              </script>
            </head>

            <body>
              <center>
                <f:view>
                  <h:form id="formLogin">
                    <div id="input">
                      <h:outputLabel value="用戶名:" />
                      <h:inputText value="#{LoginManager.username}" id="txtUsername"
                        styleClass="formText" />
                      <br>
                      <h:outputLabel value="密碼:" />
                      <h:inputSecret value="#{LoginManager.password}" id="txtPassword"
                        styleClass="formText" />
                    </div>
                    <div id="submit">
                      <h:commandButton value="提交" action="#{LoginManager.check}"
                        onclick="return isEmpty();" styleClass="formButton" />
                      <h:commandButton value="重置" type="button"
                        onclick="Javascript:document.getElementById('formLogin').reset();
                        document.getElementById('formLogin:txtUsername').focus();"
                        styleClass="formButton" />
                    </div>
                  </h:form>
                </f:view>
              </center>
            </body>
          </html>
          這個頁面使用 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> 一段時會生成如下代碼:

          <form id="formLogin" method="post" action="/Project_Blog/login.faces"
            enctype="application/x-www-form-urlencoded">
            <div id="input">
              <label>用戶名:</label>
              <input id="formLogin:txtUsername" type="text"
                name="formLogin:txtUsername" class="formText" />
              <br>
              <label>密碼:</label>
              <input id="formLogin:txtPassword" type="password"
                name="formLogin:txtPassword" value="" class="formText" />
            </div>
            <div id="submit">
              <input type="submit" name="formLogin:_id2" value="提交"
                onclick="return isEmpty();" class="formButton" />
              <input type="button" name="formLogin:_id3" value="重置"
                onclick="Javascript:document.getElementById('formLogin').reset();
                document.getElementById('formLogin:txtUsername').focus();" class="formButton" />
            </div>
            <input type="hidden" name="formLogin" value="formLogin" />
          </form>
          JSF 產生的所有表單控件都有符合 formName:componentName 格式的名稱,這里的 formName 表示控件的表單的名稱,而 componentName 表示組件名稱。如果沒有指定 id 屬性,則 JSF 框架會自動創建標識符,就象上面的 HTML 片段中的按鈕一樣。因此,要訪問上面的用戶名字段,必須使用下列方法:
          document.getElementById("formLogin:txtUsername").value;


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 瑞丽市| 宁强县| 乌兰浩特市| 苍南县| 仁布县| 桑植县| 桃园市| 儋州市| 南和县| 阿克| 鸡东县| 伽师县| 东丰县| 彝良县| 元谋县| 甘孜县| 普格县| 简阳市| 十堰市| 揭西县| 枞阳县| 博客| 纳雍县| 芜湖市| 皋兰县| 建阳市| 洛扎县| 长汀县| 赤水市| 汾阳市| 巫山县| 黎城县| 大冶市| 万山特区| 新蔡县| 华蓥市| 德保县| 西林县| 开江县| 石阡县| 绥宁县|