写两个通用函数统一javascript获取form数据的方式

这段时间,经常用javascript获取各种form中的提交数据。考虑到代码的一致和逻辑的简化,建立如下两个js函数统一方式获取form中的数据.根据Formid 和 Inputid 获得数据

函数调用方式如下德例子.

获得数据:

var  CharString=getValue(formid,'CharString');var TestCondition=getValue(formid,'TestCondition');var Hvalue=getValue(formid,'Hvalue');var Lvalue=getValue(formid,'Lvalue');var HunitID=getValue(formid,'HunitID');var LogicTerm=getValue(formid,'LogicTerm');

设置数据 if(CharString)  setValue(formid,'CharString',CharString);

Form的形式如下:

测试条件<textarea name="TestCondition" class="inputSingle" ></textarea>--><br>

低值数据<input class="inputLow" name="Lvalue" >无</option> </select><br>

如上,所有不同类型的input的取值和设值都是一致的。注意,每个Input都必须有id属性,form也是

两个支持js函数如下:

//忽略类型,对Form中的Input数据设置值function setValue(formid,inputid,strvalue) { var l = new Number(); if (!strvalue) return ; if (strvalue=='') return ; eval('l = document.' + formid + '.elements.length') for (var i = 0; i < l; i++) {   var tempid = new String();  var temptype = new String();  eval('tempid= document.' + formid + '.elements[i].name;');  eval('temptype= document.' + formid + '.elements[i].type;');  if (tempid==inputid){   if (temptype=='text'){    eval('document.' + formid + '.elements[i].value=strvalue;');   }else if (temptype=='textarea'){    eval('document.' + formid + '.elements[i].value=strvalue;');      }else if (temptype=='hidden'){    eval('document.' + formid + '.elements[i].value=strvalue;');   }else if(temptype=='select-one'){    var optionLen=new Number();    eval('optionLen=(document.' + formid + '.elements[i].options.length)');    for(var j=0;j<optionLen;j++){     eval('if (document.' + formid + '.elements[i].options['+j+'].value==strvalue) document.' + formid + '.elements[i].selectedIndex='+j+';');    }   }else if(temptype=='radio'){     eval('if (document.' + formid + '.elements[i].value==strvalue) document.' + formid + '.elements[i].checked=true;');   }else if(temptype=='checkbox'){    var strvalues=(','+strvalue+',').split(',');    for(var j=0;j<strvalues.length;j++){     if (!(strvalues[j]=='')) {      eval('if (document.' + formid + '.elements[i].value==strvalues[j] ) document.' + formid + '.elements[i].checked=true; ');     }    }       }else if (temptype=='select-multiple'){    var strvalues=(','+strvalue+',').split(',');    var optionLen=new Number();    eval('optionLen=(document.' + formid + '.elements[i].options.length)');    for(var k=0;k<optionLen;k++){     for(var j=0;j<strvalues.length;j++){      eval('if (document.' + formid + '.elements[i].options[k].value==strvalues[j]) document.' + formid + '.elements[i].options[k].selected=true')     }    }   }  } }}//忽略类型,对Form中的Input数据取值function getValue(formid,inputid) { var tempvalue = new String(); var l = new Number(); eval('l = document.' + formid + '.elements.length') for (var i = 0; i < l; i++) {   var tempid = new String();  var temptype = new String();  eval('tempid= document.' + formid + '.elements[i].name;');  eval('temptype= document.' + formid + '.elements[i].type;');//alert(tempid);//alert(temptype);  if (tempid==inputid){   if (temptype=='text'){    eval('tempvalue= document.' + formid + '.elements[i].value;');   }else if (temptype=='textarea'){    eval('tempvalue= document.' + formid + '.elements[i].value;');      }else if (temptype=='hidden'){    eval('tempvalue= document.' + formid + '.elements[i].value;');   }else if(temptype=='select-one'){    eval('tempvalue=document.' + formid + '.elements[i].options[document.' + formid + '.elements[i].selectedIndex].value;');   }else if(temptype=='radio'){    eval('if(document.' + formid + '.elements[i].checked) tempvalue=document.' + formid + '.elements[i].value;');   }else if(temptype=='checkbox'){    var checkValue=new String();    checkValue="";    eval('if (document.' + formid + '.elements[i].checked==true) {checkValue=document.' + formid + '.elements[i].value}');    if(checkValue==''){    }else{     if (tempvalue==''){      tempvalue+=checkValue;     }else{      tempvalue+=','+checkValue;     }    }      }else if (temptype=='select-multiple'){   //计算Option的个数   //根据个数循环检测数值,并    var optionLen=new Number();    eval('optionLen=(document.' + formid + '.elements[i].options.length)');    for(var j=0;j<optionLen;j++){     var checkValue=new String();     checkValue="";     eval('if (document.' + formid + '.elements[i].options[j].selected) checkValue=(document.' + formid + '.elements[i].options[j].value);');     if(checkValue==''){     }else{      if (tempvalue==''){       tempvalue+=checkValue;      }else{       tempvalue+=','+checkValue;      }     }    }    //循环检查数据   }  } } return tempvalue;}

 

 

17人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册