写两个通用函数统一javascript获取form数据的方式
2009-11-07 16:12
435 查看
这段时间,经常用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" id="TestCondition" ></textarea>
<!--<textarea name="XMLDATA" class="inputSingle" id="XMLDATA" ></textarea>-->
<br>
低值数据<input class="inputLow" name="Lvalue" id="Lvalue" require="false" dataType="Double" Msg="低值数据必须为数值类型的数据"><br>
操作符号<select name="LogicTerm" id="LogicTerm">
<option value="~">之间</option>
<option value="=">等于</option>
<option value=">=">大于等于</option>
<option value="<=">小于等于</option>
<option value=">">大于</option>
<option value="<">小于</option>
<option value="">无</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;
}
函数调用方式如下德例子.
获得数据:
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" id="TestCondition" ></textarea>
<!--<textarea name="XMLDATA" class="inputSingle" id="XMLDATA" ></textarea>-->
<br>
低值数据<input class="inputLow" name="Lvalue" id="Lvalue" require="false" dataType="Double" Msg="低值数据必须为数值类型的数据"><br>
操作符号<select name="LogicTerm" id="LogicTerm">
<option value="~">之间</option>
<option value="=">等于</option>
<option value=">=">大于等于</option>
<option value="<=">小于等于</option>
<option value=">">大于</option>
<option value="<">小于</option>
<option value="">无</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;
}
相关文章推荐
- 写两个通用函数统一javascript获取form数据的方式
- JavaScript获取form表单中的数据以及拼接传参
- JavaScript 比较两个日期大小 及格式化时间函数 java获取当前日期前几天或后几天
- Javascript模拟FORM以POST方式提交表单数据
- http协议2---GET方式和POST方式获取表单数据举例 1(非统一方式获取数据,比较麻烦)
- 通用表单验证函数 - FormCheck JavaScript Function
- 通用表单验证函数 - FormCheck JavaScript Function
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- (转)获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- sql实现从两个表获取字段组成表数据再插入到函数表中
- .net 调用SAP RFC函数获取数据的两种方式
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- C#获取网页数据的两个函数
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- get/post 方式,form/数据的获取
- 怎样获取form-data方式POST的数据
- http协议3---GET方式和POST方式获取表单数据举例2(统一方式获取)