控件页面是JSP生成的吗?
如果是,建议生成时给控件命名,记录到数据库中
提交时从数据库中获得该控件组。
我做过考试系统时这样完成的。

解决方案 »

  1.   

    document.getElementsByTagName("input")就可以了
      

  2.   

    操作控件value:
    document.表单名.控件名.value=...;
      

  3.   

    可以設置同樣的id
    這樣就形成一個collection就用數組的方式來使用啦
      

  4.   

    对于每个控件可以都做为一个button然后用onClick()发给JavaScript在SCRIPT中设置控件的值
    再用submit()设置控件的值也可以用一个隐藏表单来。这样就能对所有的控件设置一个值,而只需要在onClick="function(para)"改变你的参值就行了
      

  5.   

    这是我写的客户端输入校验代码,只要对FORM里边的每个element设置好ID,就可以对整个FORM进行输入校验。
    function checkForm(theform,isQuery,isTitle){
        for(i=0;i<theform.length;i++){
            var item=theform.elements[i];
            if(item.id!=''){
                var lists=item.id.split(".");
                var type="String";
                var field=lists[0];
                var notEmpty=false;            if(lists.length==2){
                    type=lists[0];
                    field=lists[1];
                    notEmpty=false;
                }else if(lists.length>2 ){
                    type=lists[0];
                    field=lists[1];
                    notEmpty=(lists[2]=="1") ? true : false;
                }
    if((item.title!=""&&isTitle)||field=="")field=item.title;            if(item.type=='hidden' || item.type=='text' || item.type=='textarea'|| item.type=='select-one'|| item.type=='file'){
                    if(isEmpty(item.value)){
                        if(notEmpty){
                            alert("'"+field+"'ぃ");
                            if(item.type!='hidden')item.focus();
                            return false;
                        }
                    } else  if(type=="Integer" && !isInteger(item.value,isQuery)){
                        alert("'"+field+"'俱计");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }
                    else if(type=="UnsignedInt" && !isUnsignedInt(item.value,isQuery)){
                        alert("'"+field+"'獶璽俱计");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }
                    else if(type=="Number" && !isNumeric(item.value,isQuery)){
                        alert("'"+field+"'计");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }
                    else if(type=="Date" && !isDate(item.value,isQuery)){
                        alert("'"+field+"'ら戳");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }
                    else if(type=="Time" && !isTime(item.value)){
                        alert("'"+field+"'丁");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }
                    else if(type=="ShortTime" && !isHourMinute(item.value)){
                        alert("'"+field+"'丁HH:MM");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }
                    else if(type=="DateTime" && !isDateTime(item.value,isQuery)){
                        alert("'"+field+"'ら戳丁YYYY-MM-DD hh:mm[:ss]");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }
                    else if(type=="Image" && !isImg(item.value)){
                        alert("'"+field+"'瓜Α莱GIF,┪JPG");
                        if(item.type!='hidden')item.focus();
                        return false;
                    } else if(type=="Float" && !isFloat(item.value,isQuery)){
                        alert("'"+field+"'计");
                        if(item.type!='hidden')item.focus();
                        return false;
                    }            }
            }
        }
        return true;
    }
    function getRealValue(v)
    {
      var prefix = getPrefix(v);
      return v.substring(prefix.length,v.length);
    }function getPrefix(v){
        if(v.substring(0,2)==">=") return ">=";
        if(v.substring(0,2)=="<=") return "<=";
        if(v.substring(0,2)=="<>") return "<>";
        if(v.substring(0,2)=="!=") return "!=";
        if(v.substring(0,1)==">") return ">";
        if(v.substring(0,1)=="<") return "<";
        if(v.substring(0,1)=="=") return "=";
        return "";
    }
      

  6.   

    续上
    //Is Ok
    function isEmpty(s){
    if(s.match(/^\s*$/))return true;
    return false;
    }function ltrim(s,c){
    var sTemp=s;
        if(s==null)return "";
    if(c==null)c=' ';
    while(sTemp.substring(0,1)==c){
    sTemp=sTemp.substring(1);
    }
    return sTemp;
    }function rtrim(s,c){
    var sTemp=s;
        if(s==null)return "";
    if(c==null)c=' ';
    while(sTemp.substring(sTemp.length-2,sTemp.length-1)==c){
    sTemp=sTemp.substring(0,sTemp.length-2);
    }
    return sTemp;
    }function trim(s,c){
    return rtrim(ltrim(s,c),c);
    }//Is OK
    function isUnsignedInt(s,isQuery,Min,Max){
        if(isQuery){
           if(s.indexOf(":")>-1) {
          var list = s.split(":");
          return isUnsignedInt(list[0]) && isUnsignedInt(list[1]);
     } else {
            return isUnsignedInt(getRealValue(s));  
     }
    }
    var ma=s.match(/^(\d+)$/);
    if(Max<=0)Max=null;
    if(Min<=0)Min=null;
    if(ma==null)return false;
    var val=ltrim(ma[1],'0');
    if(Max!=null && (val-Max)>0)return false;
    if(Min!=null && (val-Min)<0)return false;
    return true;
    }
    //Is OK
    function isInteger(s,isQuery,signed,Min,Max){
        if(isQuery){
           if(s.indexOf(":")>-1) {
          var list = s.split(":");
          return isInteger(list[0]) && isInteger(list[1]);
     } else {
            return isInteger(getRealValue(s));  
     }
    }
    var ma=s.match(/^([\+|\-]?)(\d+)$/);
    if(ma==null)return false;
    if(signed=='+' && ma[1]!='+' && ma[1]!='')return false;
    if(signed=='-' && ma[1]!='-')return false;
    var val=ltrim(ma[2],'0');
    if(Max!=null && (val-Max)>0)return false;
    if(Min!=null && (val-Min)<0)return false;
    return true;
    }
    //Is OK
    function isFloat(s,isQuery,signed){
        if(isQuery){
           if(s.indexOf(":")>-1) {
          var list = s.split(":");
          return isFloat(list[0]) && isFloat(list[1]);
     } else {
            return isFloat(getRealValue(s));  
     }
    }
    if(isInteger(s,signed))return true;
    var ma=s.match(/^([\+|\-]?\d+)\.(\d+)$/);
    if(ma==null)return false;
    if(!isInteger(ma[1],signed))return false;
    return true;
    }
    function isSepFloat(s,signed){
    var ma=s.match(/^([\+|\-]?)\d{1,3}(,\d{3})*(\.(\d{3},)*\d{1,3})?$/);
    if(ma==null)return false;
    if(signed=='+' && ma[1]!='+' && ma[1]!='')return false;
    if(signed=='-' && ma[1]!='-')return false;
    return true;
    }
    //Is OK
    function isScience(s,signed){
        var ma=s.match(/^([\+|\-]?)\d+(\.?\d)?\d*[E|e][\+|\-]?\d+$/);
        if(ma==null)return false;
    if(signed=='+' && ma[1]!='+'&&ma[1]!='')return false;
        if(signed=='-' && ma[1]!='-')return false;
    return true;
    }
    //Is OK
    function isNumeric(s,isQuery,signed){
        if(isQuery){
           if(s.indexOf(":")>-1) {
          var list = s.split(":");
          return isNumeric(list[0]) && isNumeric(list[1]);
     } else {
            return isNumeric(getRealValue(s));  
     }
    } if(isInteger(s,signed) || isFloat(s,signed) || isScience(s,signed))return true;
    return false;
    }//Is OK
    function isDate(s, isQuery, d1, d2){
        if(isQuery){
           if(s.indexOf(":")>-1) {
          var list = s.split(":");
          return isDate(list[0]) && isDate(list[1]);
     } else {
            return isDate(getRealValue(s));  
     }
    }
        if(s==null)return false;
        // YYMMDD,YY-MM-DD,YY/MM/DD,YYYYMMDD,YYYY-MM-DD,YYYY/MM/DD
    var matchArray=trim(s).match(/^((\d{2}){1,2})\-(\d{2})\-(\d{2})$/);
        if(matchArray==null){
         matchArray=s.match(/^((\d{2}){1,2})\/(\d{2})\/(\d{2})$/);
            if(matchArray==null){
             matchArray=s.match(/^((\d{2}){1,2})(\d{2})(\d{2})$/);
                if(matchArray==null)return false;
            }
        }
        var year=matchArray[1];
    var month=matchArray[3];
    var day=matchArray[4];
    if((month-12)>0 || (month-1)<0)return false;
    if((day-31)>0 ||(day-1)<0)return false;
    if((day - getDays(year,month))>0)return false;
        var date=new Date(year,month-1,day);
        var date1=isDate(d1);
        var date2=isDate(d2);
        if(date1 && date.getTime()<date1.getTime())return false;
        if(date2 && date.getTime()>date2.getTime())return false;
        return date;
    }function isDate2(s, isQuery, d1, d2){
        if(isQuery){
           if(s.indexOf(":")>-1) {
          var list = s.split(":");
          return isDate2(list[0]) && isDate2(list[1]);
     } else {
            return isDate2(getRealValue(s));  
     }
    }
        if(s==null)return false;
        // YY-MM-DD,YYYY-MM-DD
    var matchArray=trim(s).match(/^((\d{2}){1,2})\-(\d{2})\-(\d{2})$/);
        if(matchArray==null)return false;
        var year=matchArray[1];
    var month=matchArray[3];
    var day=matchArray[4];
    if((month-12)>0 || (month-1)<0)return false;
    if((day-31)>0 ||(day-1)<0)return false;
    if((day - getDays(year,month))>0)return false;
        var date=new Date(year,month-1,day);
        var date1=isDate2(d1);
        var date2=isDate2(d2);
        if(date1 && date.getTime()<date1.getTime())return false;
        if(date2 && date.getTime()>date2.getTime())return false;
        return date;
    }function getDays(year,month){
        if( (month==1)
          || (month==3)
          || (month==5)
          || (month==7)
          || (month==8)
          || (month==10)
          || (month==12))return 31;
        if(month==4 || month==6 || month==9 || month==11)return 30;
        if(year%400==0)return 29;
        if(year%100==0)return 28;
        if(year%4==0)return 29;
        return 28;
    }function isImg(value) {
    value = value.substring(value.lastIndexOf(".")+1,value.length).toUpperCase();
    if(value!="JPG" && value!="GIF")
    return false;
    return true;
    }//IS OK
    function isTime(s,t1,t2){
    // HH:mm[:ss]
    var ma=trim(s).match(/^(\d{1,2}):(\d{1,2})(:(\d{1,2}))?$/);
    if(ma==null)return false;
    var hour=ma[1];
    var minu=ma[2];
    var seco=ma[4];
    if((hour-23)>0 || hour<0)return false;
    if((minu-59)>0)return false;
    if((seco-59)>0)return false;
        var date=new Date();
        date.setHours(hour);
        date.setMinutes(minu);
        date.setSeconds(seco);
        var date1=isTime(t1);
        var date2=isTime(t2);
        if(date1 && date.getTime()<date1.getTime())return false;
        if(date2 && date.getTime()>date2.getTime())return false;
    return date;
    }
    function isHourMinute(s,t1,t2){
    var ma=trim(s).match(/^(\d{1,2}):(\d{1,2})$/);
    if(ma==null)return false;
    var hour=ma[1];
    var minu=ma[2];
    if((hour-23)>0 || hour<0)return false;
    if((minu-59)>0)return false;
        var date=new Date();
        date.setHours(hour);
        date.setMinutes(minu);
        var date1=isHourMinute(t1);
        var date2=isHourMinute(t2);
        if(date1 && date.getTime()<date1.getTime())return false;
        if(date2 && date.getTime()>date2.getTime())return false;
    return date;
    }
    //Is OK
    function isDateTime(s,isQuery,d1,d2){
    //Date Time
        if(isQuery){
           if(s.length>20) {
          var var1 = s.substring(0,s.length/2);
    var var2 = s.substring(s.length/2+1,s.length);
          return isDateTime(var1) && isDateTime(var2);
     } else {
            return isDateTime(getRealValue(s));  
     }
    } var ma=trim(s).split(" ");
    var date=ma[0];
    var time=ma[1];
    if(!time) return false;
        var dDate=isDate(date);
        var dTime=isTime(time);
        var date1=isDateTime(d1);
        var date2=isDateTime(d2);
    if(dDate && dTime && ma[2]==null){
            dDate.setHours(dTime.getHours());
            dDate.setMinutes(dTime.getMinutes());
            dDate.setSeconds(dTime.getSeconds());
            if(date1 && dDate.getTime()<date1.getTime())return false;
            if(date2 && dDate.getTime()>date2.getTime())return false;
            return dDate;
        }
    return false;
    }