<form id="form1" name="form1" onsubmit="return checkForm(this)">
<input type="checkbox" id="idarr[]" name="idarr[]" value="1">
<input type="checkbox" id="idarr[]" name="idarr[]" value="3">
<input type="checkbox" id="idarr[]" name="idarr[]" value="8">
<input tyepe="submit" id="submit" name="submit" value="提交">
</form><script type="text/javascript">
function checkForm(obj){
//alert(obj.idarr); 这样不行
//alert(obj.idarr.value); 这样不行
//alert(obj.idarr[].value); 这样不行
}
</script>
如何用js获取idarr数组?因为我获取到以后想遍历他,然后判断该项是不是checked
<input type="checkbox" id="idarr[]" name="idarr[]" value="1">
<input
type="checkbox" id="idarr[]" name="idarr[]" value="3">
<input
type="checkbox" id="idarr[]" name="idarr[]" value="8">
<input
type="submit" id="submit" name="submit" value="提交">
</form>
<script type="text/javascript">
function checkForm() {
var l = document.getElementsByTagName('input');
for( i = 0; i < l.length; i++) {
if((l[i].id == 'idarr[]')&&
(l[i].type = "checkbox"))
{
alert('yes');
}
}
}
</script>
1.id值必须唯一
2.保存到一个数组可以这样,但一般是不需要的,直接在遍历inputs数组时进行判断即可
*/
function checkForm(obj) {
var inputs = obj.getElementsByTagName('input');
var ar = new Array();
for(var i = 0; i < inputs.length; i ++) if (inputs[i].name == 'idarr[]') ar.push(inputs[i]);
alert(ar.length);
return false;
}
最好的方法,就是再读取数组时,用类似楼上的方法,就给ID编号,如idarr1,idarr2,idarr3....相同的ID,会造成混乱。
var ls =document.getElementsByName('idarr[]');
for( i = 0; i < ls.length; i++) {
alert(ls[i].value); }
}
不过,那不是把input submit这个也计算进来了,如果form中含有多个input,那不是做了很多无用功。
至于id 重复.我以前也经常干...没碰上太多的麻烦,所以也就忘记有这么回事了
var ls = obj.getElementsByName('idarr[]');
alert(ls.length);
貌似js不认识。