當(dāng)柳上原的風(fēng)吹向天際的時(shí)候...

          真正的快樂來源于創(chuàng)造

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks

          公告


          常用鏈接

          留言簿(3)

          最新隨筆

          積分與排名

          • 積分 - 394328
          • 排名 - 145

          最新評(píng)論

          閱讀排行榜

          代碼如下:
          /*************************
          *
          *   Class:CheckItem
          *   2009.08.23
          *************************
          */
          //-- Contructor
          function CheckItem(textboxName,msgSpanId,validChar,isRequired){
              
          this.textboxName=textboxName;
              
          this.msgSpanId=msgSpanId;
              
          this.validChar=validChar;
              
          this.isRequired=isRequired;
          }

          /*************************
          *
          *   Class:FormChecker
          *   2009.08.23
          *************************
          */
          //-- Contructor
          function FormChecker(){
              
          this.checkItemArray=new Array;
          }

          //-- Add a check Item to array
          FormChecker.prototype.addCheckItem=function(textboxName,msgSpanId,validChar,isRequired){
              
          var checkItem=new CheckItem(textboxName,msgSpanId,validChar,isRequired);
              
          this.checkItemArray[this.checkItemArray.length]=checkItem;
          }

          //-- Check text field in the form 
          FormChecker.prototype.checkTextBox=function(checkItem){
              
          var validChar=checkItem.validChar;
              
          var isRequired=checkItem.isRequired;
              
          var inputValue=document.getElementById(checkItem.textboxName).value;
              
              
          if(isRequired!="true" && inputValue.length<1){
                  
          return true;
              }
              
          else{
                  
          var regexStr="^"+validChar+"$";
                  
          var regex=new RegExp(regexStr);
                  
          return regex.test(inputValue);
              }
          }

          //-- judge the validation a form
          FormChecker.prototype.isValid=function(){
              
          var toBeCheckedObjArray=this.checkItemArray;

              
          for(var i=0;i<toBeCheckedObjArray.length;i++){
                  
          var    toBeCheckedObj=toBeCheckedObjArray[i];    
                  
                  
          var checkResult=this.checkTextBox(toBeCheckedObj);
                  
                  
          if(checkResult){
                      document.getElementById(toBeCheckedObj.msgSpanId).className
          ="normalText";
                  }
                  
          else{        
                      document.getElementById(toBeCheckedObj.msgSpanId).className
          ="errorText";
                      document.getElementById(toBeCheckedObj.textboxName).focus();
                      
          return false;
                  }                
              }
           
              
          return true;
          }

          驗(yàn)證效果如下:


          初始化及驗(yàn)證的函數(shù)代碼如下:
          // --定義全局變量表單驗(yàn)證器
          var formChecker;

          window.onload
          =function(){
              
          var stockTable=new MyTable("stockTable");
              stockTable.refreshRowColor();

              
          // 初始化表單驗(yàn)證器
              formChecker=new FormChecker();
              formChecker.addCheckItem(
          "code","codeMsg","\\d{6}","true");
              formChecker.addCheckItem(
          "name","nameMsg","[\\u4E00-\\u9FA5]{3,4}","true");
              formChecker.addCheckItem(
          "price","priceMsg","\\d{2}[.]\\d{2}","true");
              formChecker.addCheckItem(
          "percent","percentMsg","\\d{1,2}[%]","true");
              formChecker.addCheckItem(
          "branch","branchMsg","[\\u4E00-\\u9FA5]{2,6}","true");
              formChecker.addCheckItem(
          "subBranch","subBranchMsg","[\\u4E00-\\u9FA5]{2,6}","true");
          }



          function appendRow(){
              
          // 驗(yàn)證表單
              if(formChecker.isValid()==false){
                  
          return;
              }

              
          }


          當(dāng)然,表單中不止文本框,但其他控件的驗(yàn)證相對(duì)簡(jiǎn)單,你可以在formChecker.isValid()函數(shù)前后加上自己寫的對(duì)這些控件的驗(yàn)證代碼。

          為完成高亮的效果,需要兩個(gè)CSS類的支持:
          .errorText{
              color
          :#ff0000;
              font-weight
          :bold;
          }
          .normalText
          {
              color
          :#000000;
              font-weight
          :normal;
          }

          全體代碼下載,注意其中圖片文件的相對(duì)位置:
          http://www.aygfsteel.com/Files/heyang/JsTable20090823103043.rar

          另外一個(gè)版本:
          http://www.aygfsteel.com/Files/heyang/StockTable.rar


          posted on 2009-08-23 10:39 何楊 閱讀(534) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 南召县| 伊吾县| 富平县| 广州市| 永丰县| 通辽市| 临泽县| 遂川县| 邵东县| 藁城市| 杭州市| 揭东县| 玉树县| 潍坊市| 进贤县| 福安市| 平安县| 会泽县| 兴业县| 陆川县| 宝山区| 哈尔滨市| 东乌珠穆沁旗| 乐安县| 河曲县| 六盘水市| 平江县| 密山市| 砚山县| 新沂市| 贵定县| 乌拉特中旗| 乐平市| 田林县| 鸡泽县| 淮安市| 句容市| 平度市| 泸州市| 东光县| 庐江县|