<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    最近發現使用prototype來做表單的前臺驗證感覺非常不錯,prototype.js 是由 Sam Stephenson 寫的一個 javascript 類庫。這個構思奇妙,而且兼容標準的類庫,能幫助你輕松建立有高度互動的 Web 2.0 特性的富客戶端頁面。下面是一個使用它做前臺表單驗證的例子。

    var flag=[true,true,true,true,true,true,true,true,true,true];
           var userNameInfo=["用戶名不能為空","用戶名必須為6~20位","用戶已存在","恭喜用戶名可以使用"];
           var passwordInfo=["密碼不能為空","密碼長度不能小于6位","請再次輸入密碼","兩次密碼輸入不一致,請重新輸入"];
           function changeImage()
        {
        var timenow=new Date().getTime();
              $('checkcode').src = "image/loading.gif";
              $('checkcode').src = "random.jsp?d="+timenow;
           }
           function checkUserName()
        {
        if ($F("userName").match(/^\s*$/g)) {
               $("userNameErr").innerHTML =userNameInfo[0];
         flag[0]=false;
          }else{
      
        var re=/^(\w){6,20}$/;
        var tt = re.test($F("userName"));
        if(tt==false){
       $("userNameErr").innerHTML = userNameInfo[1];
       flag[0]=false;
           }else{
         $("userNameErr").innerHTML = "<img src='image/loading.gif'>";
           isExsitUsername(); 
       }
        }
       }
        function checkPassword()
        {
         
        if ($F("password").match(/^\s*$/g)) {
               $("pwdErr").innerHTML =passwordInfo[0];
               flag[1]=false;
      }else if($F("password").length<6){
          $("pwdErr").innerHTML=passwordInfo[1];
          flag[1]=false;
      }else{
          $("pwdErr").innerHTML="";
          flag[1]=true;
      }
      
        }
        function checkRePassword(){
          if ($F("password2").match(/^\s*$/g)) {
              $("repwdErr").innerHTML =passwordInfo[2];
              flag[2]=false;
      }else if($F("password2")!=$F("password")){
       $("repwdErr").innerHTML=passwordInfo[3]; 
       flag[2]=false; 
       }else{
          $("repwdErr").innerHTML="";
          flag[2]=true;
       }
        }
        function checkName(){
           if($F("name").match(/^\s*$/g)){
          $("nameErr").innerHTML="昵稱不能為空";
          flag[3]=false;
        }else{
         $("nameErr").innerHTML="";
         flag[3]=true;
        }
        }
        function checkQuestion(){
           if($F("question").match(/^\s*$/g)){
              $("questionErr").innerHTML="請選擇一個安全問題";
              flag[4]=false;
           }else{
              $("questionErr").innerHTML="";
              flag[4]=true;
           }
        }
        function checkAnswer(){
          if($F("answer").match(/^\s*$/g)){
             $("answerErr").innerHTML="安全回答不能為空";
             flag[5]=false;
          }else if($F("answer").length<4){
             $("answerErr").innerHTML="安全回答問題不能少于4個字符";
             flag[5]=false;
          }else{
              $("answerErr").innerHTML="";
             flag[5]=true;
          }
        }
        function checkEmail()
        {
         var reEmail =/(\S)+[@]{1}(\S)+[.]{1}(\w)+/;
          if($F("email").match(/^\s*$/g)){
             $("emailErr").innerHTML="Email不能為空";
             flag[6]=false;
          }else{
               var temp=reEmail.test($("email").value);
               if(temp==false){
                 $("emailErr").innerHTML= "Email必須符合要求!";
                    flag[6]=false;
                  }else{
                    $("emailErr").innerHTML="<img src='image/loading.gif'>";
                                 isExsitEmail();
                 
                  }
             }

        }
        function checkMobile(){
        var patrn=/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/;
        if($F("mobile").match(/^\s*$/g)){
             $("mobileErr").innerHTML="";
          flag[7]=true;
        }else{
          if (!patrn.test($F("mobile"))) {
             $("mobileErr").innerHTML="請輸入正確的手機號碼";
             flag[7]=false;
          }else{
            $("mobileErr").innerHTML="";
            flag[7]=true;
          }
          
        }  
          
       }
       function checkPID(){
         var patrn=/(^\d{15}$)|(^\d{17}([0-9]|X|x)$)/;
         if($F("PID").match(/^\s*$/g)){
           $("PIDErr").innerHTML="";
           flag[8]=true;
         }else{
          if (!patrn.test($F("PID")))  
             {
             $("PIDErr").innerHTML="身份證號碼有誤!";
             flag[8]=false;
          }else{
           $("PIDErr").innerHTML="";
           flag[8]=true;
        }
       }
           
        }
       
      function isExsitUsername(){
         var username=$F("userName");
         var url='user_checkUsername.do';
         var pars="username="+username;
         var usernameAjax=new Ajax.Request(
           url,
           {method:'get',parameters:pars,onComplete:showUResult}
           );
      }
      function showUResult(result){
      
           if(result.responseText.indexOf("true")!=-1){
              
              $("userNameErr").innerHTML=userNameInfo[2];
              flag[0]=false;
           }else{
              $("userNameErr").innerHTML="<font color='green'>"+userNameInfo[3]+"</font>";
              flag[0]=true;
           }
      }
      function isExsitEmail(){
         var email=$F("email");
         var url='user_checkEmail.do';
         pars="email="+email;
         var emailAjax=new Ajax.Request(
            url,
            {method:'get',parameters:pars,onComplete:showEResult}
            );
      }
      function showEResult(result){
       if(result.responseText.indexOf("true")!=-1){
           $("emailErr").innerHTML="這個Email已經有人使用,請換一個";
           flag[6]=false;
       }else{
           $("emailErr").innerHTML="<font color='green'>已通過驗證</font>";
           flag[6]=true;
       }
      }
      function checkCode(){
          if($("code").value.match(/^\s*$/g)){
             $("codeErr").innerHTML="驗證碼不能為空";
             flag[9]=false;
        }else{
          isCorrectCode();
        }
        }
      function isCorrectCode(){
         var code=$F("code");
         var url='checkcode.jsp';
         pars="code="+code+"&ram="+Math.random();
         var codeAjax=new Ajax.Request(
         url,
         {method:'get',parameters:pars,asynchronous:false,onComplete:showCResult}
         );
        
      }
      function showCResult(result){
         if(result.responseText.indexOf("validate_successful")!=-1){
           $("codeErr").innerHTML="";
           flag[9]=true;
         }else{
           $("codeErr").innerHTML="錯誤的驗證碼";
           flag[9]=false;
         }
      }
     function checkform(){
          checkUserName();
          checkPassword();
          checkRePassword();
          checkName();
          checkQuestion();
          checkAnswer();
          checkEmail();
          checkMobile();
          checkPID();
          checkCode();
          for(var i=0;i<flag.length;i+=1){
            if(flag[i]==false)
              return false;
         }
         return true;
         
       }
    其中

    $(): 函數是在 DOM 中使用過于頻繁的 document.getElementById() 方法的一個便利的簡寫,就像這個 DOM 方法一樣,這個方法返回參數傳入的 id 的那個元素。
    $F() :函數是另一個大收歡迎的“快捷鍵”,它能用于返回任何表單輸入控件的值,比如文本框或者下拉列表。這個方法也能用元素 id 或元素本身做為參數。
    Ajax.Request 類:如果你不使用任何的幫助程序包,你很可能編寫了整個大量的代碼來創建 XMLHttpRequest 對象并且異步的跟蹤它的進程,然后解析響應并處理它。當你不需要支持多于一種類型的瀏覽器時你會感到非常的幸運,反之你就要考慮使用prototype的Ajax.Request類。你也許注意到了在使用它做無刷新驗證用戶名,Email以及驗證碼時,使用'get'方法把參數傳遞給url,后面都帶有一個參數,這個參數值是當前系統時間或是一個隨機參數的一個數,這樣做是為了避免瀏覽器的從它的緩存中讀取響應信息,影響結果的正確性。


     

    posts - 146, comments - 143, trackbacks - 0, articles - 0

    Copyright © flustar

    主站蜘蛛池模板: 亚洲精品亚洲人成在线麻豆| 亚洲午夜爱爱香蕉片| 久久精品国产亚洲AV嫖农村妇女| eeuss免费天堂影院| 四虎精品亚洲一区二区三区| 一级a性色生活片久久无少妇一级婬片免费放 | 亚洲永久在线观看| 成年大片免费视频| 看亚洲a级一级毛片| 亚洲精品无码专区久久同性男| 亚洲精品视频免费观看| 亚洲一区二区精品视频| 久久精品免费视频观看| 久久亚洲日韩看片无码| 成人免费777777| 特级毛片免费观看视频| 亚洲精品乱码久久久久久中文字幕 | 一进一出60分钟免费视频| 成人伊人亚洲人综合网站222| 一本到卡二卡三卡免费高| 香蕉蕉亚亚洲aav综合| 手机看黄av免费网址| 亚洲精品久久无码av片俺去也| 波多野结衣视频在线免费观看| 一级毛片视频免费观看| 亚洲成人精品久久| 91视频国产免费| 特级毛片免费观看视频| 久久亚洲精品国产精品黑人| 国产一精品一AV一免费孕妇| 青草青草视频2免费观看| 亚洲精品免费在线观看| 免费的一级片网站| 三级黄色片免费看| 久久狠狠爱亚洲综合影院 | 中文字幕久精品免费视频| 亚洲午夜成激人情在线影院| 婷婷综合缴情亚洲狠狠尤物| 91精品视频在线免费观看| 美女视频黄.免费网址| 亚洲黑人嫩小videos|