作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 GatherRadioBtn() 函数,它发布表单,否则在页面中显示错误。这需要 checkRadioWrapper() 的提示来检查是否所有单选按钮都被选中。
但是,true
条件并未实现。我的 (r[i].type == "radio") && !(r[i].checked)
表达式是否有错误。
很快就会上传到jsfiddle
谢谢。
function checkRadioWrapper()
{
for (var i=0; i < r.length; i++)
{
if ( (r[i].type == "radio") && !(r[i].checked) )
{
return false;
}
}
return true;
}
function gatherRadioBtn()
{
alert("in gather");
var r = document.getElementsByTagName("input");
var literal = [];
for (var i=0; i < r.length; i++)
{
if ( (r[i].type == "radio") && r[i].checked )
{
literal.push(r[i].name);
literal.push(r[i].value);
}
}
if (checkRadioWrapper())
{
document.getElementById("Errnodata").innerHTML = "" ;
var joinedArray = literal.join(", ");
window.opener.document.getElementById("myarray").value= joinedArray;
window.opener.getVolunteerDetails();
window.close();
}
else
{
document.getElementById("Errnodata").innerHTML = "Please select for every radio btns!" ;
}
}
最佳答案
您必须将“r”作为参数传递给您的函数:
function checkRadioWrapper( r )
{
for (var i=0; i < r.length; i++)
// etc
然后:
if (checkRadioWrapper( r ))
现在,在一组共享相同名称的单选按钮中,浏览器将永远不允许同时检查所有这些单选按钮。因此,这确实没有多大意义。如果您的单选按钮不与其他单选按钮共享名称,则它们应该是复选框而不是单选按钮。
关于javascript - 检查所有单选按钮是否已在 native JavaScript 中选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17578168/
我是一名优秀的程序员,十分优秀!