var arrSlelects=document.forms[0].getElementsByTagName('select');
var arrInputs=document.forms[0].getElementsByTagName('input');
...如此类推
然后for循环数组进行你需要的操作
var arrInputs=document.forms[0].getElementsByTagName('input');
...如此类推
然后for循环数组进行你需要的操作
调试欢乐多
最好的方法就是遍历,
不知道楼主对遍历是怎么认识的,
一个for循环就可以解决问题了。总不会想一个一个去访问吧!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
function Init()
{
var objs = document.getElementById("form1").elements;
for(var i=0;i<objs.length;i++)
{
alert(objs[i].type);
switch(objs[i].type)
{
case "radio": //单选按钮
//....操作
break;
case "text": //输入框
//....操作
break;
//...... }
}
}
</script>
</head><body onLoad="Init()">
<form name="form1" method="post" action="">
<label>
<input type="radio" name="radio" id="radio" value="radio">
</label>
<label>
<input type="submit" name="button" id="button" value="提交">
</label>
<label>
<input type="text" name="textfield" id="textfield">
</label>
<label>
<select name="select" id="select">
</select>
</label>
</form>
</body>
</html>
先把表单序列化,可以使用prototype的Form.serialize()函数,就是将表单转成类似"参数名1=值1&参数名2=值2……"的形式,如果表单为空,那么所有值的位置一定是空的,所以用正则表达式/=[^&\s]/i去test一下表单序列化字符串就可以了。不知道我的这种想法判断够不够充分,请各位帮忙看看