gpt4 book ai didi

javascript - firefox document.getElementById 只得到第一个复选框?

转载 作者:行者123 更新时间:2023-11-30 08:12:48 25 4
gpt4 key购买 nike


这个简单的代码检查是否至少有一个复选框被标记,
当我尝试使用 Firefox 获取复选框数组时,我没有-我只是第一个,
相同的代码在 IE 中运行良好,
是否需要为复选框元素制作不同的ID并迭代它们?感谢您的帮助。

<html>
<head>
<script type="text/javascript">

function testCheckBox(){

var vehicle = document.getElementById('vehicle');
for (var i=0; i < vehicle.length; i++){

alert(vehicle[i].checked);
if (trucks[i].checked){

alert('at least one was selected');
return true;
}
}

alert('Please select one');
return false;
}
</script>

</head>
<body>

<form>
<input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br />
<input type="checkbox" name="vehicle" value="Car" /> I have a car
<br />
<input type="button" name="test" value="test" onclick="testCheckBox();" />

</body>
</html>

最佳答案

getElementById() 从不返回数组。它只返回一个元素(因为 id 必须是唯一的 - 即具有相同 id 的多个元素是无效的 HTML。)getElementsByTagName() 是你在这里想要的:

var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
var el = inputs[i];
if (el.type == 'checkbox' && el.checked) {
alert(el.value + ' is checked');
}
}

(注意:较新的浏览器支持 getElementsByClassName,也可以使用。

关于javascript - firefox document.getElementById 只得到第一个复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8025288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com