作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有多个复选框,我想知道其中一个是否被选中。我的代码没有给我任何错误,但我没有得到我期望的结果。当我运行代码时,总是会得到 for 循环内的第一个警报。以下是我的代码:
function validate(){
if(document.getElementById('postTW').checked || document.getElementById('postFB') ){
var checker = document.getElementsByName('twitter[]');
for (var i = 0; i < checker.length; i++) {
if(checker[i].checked){
return true;
}
else{
alert("Not enough arguments ");
return false;
}
};
}
else{
alert("Not enough arguments to submit the form");
return false;
}
}
我的表单是 method = post 并且如下所示
<input class="twGroup" type="checkbox" name="twitter[]" value="x"/>
<input class="twGroup" type="checkbox" name="twitter[]" value="y"/>
<input class="twGroup" type="checkbox" name="twitter[]" value="z"/>
最佳答案
由于返回,此代码仅检查第一个复选框:
for (var i = 0; i < checker.length; i++) {
if(checker[i].checked) {
return true;
}
else {
alert("Not enough arguments ");
return false;
}
};
试试这个:
var checked_flag = false;
for (var i = 0; i < checker.length; i++) {
if(checker[i].checked) {
checked_flag = true;
}
};
return checked_flag;
关于javascript - 如何检查是否在javascript中选中了复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24751430/
我是一名优秀的程序员,十分优秀!