我正在使用这个javascript代码。按下按钮我想要至少选择一个复选框。有谁知道我做错了什么。我不想使用jquery。
function check()
{
var flag = false;
for(var i=1;i<=4;i++)
{
var checkb = document.getElementById("check"+i);
if(checkb.checked)
{
flag = true;
break;
}
}
if(!flag)
alert("What is your interest \n(select at least one option)");
return flag;
}
</script>
按钮单击代码
<input type="submit" name="submit" value="Submit" onclick="return check();">
答案 0 :(得分:0)
代码工作正常。您是否在复选框标记上设置了id="check1"
?
答案 1 :(得分:0)
是的,您的代码工作正常,如上面的评论所述。但是,您可以检查...检查更干净 - 您期望ID为“check0” - “check4”。您可以抓住它们而不用担心设置限制(可能因为您使用的ID中至少有一个不存在而导致代码无效)。
<input type="checkbox" id="check0" />
<input type="checkbox" id="check1" />
<input type="checkbox" id="check2" />
<input type="checkbox" id="check3" />
<hr/>
<input type="button" onclick="checkIt();" value="Check the Checks">
还有一些JS:
checkIt = function()
{
var checks = document.getElementsByTagName('input');
var hasCheck = false;
for(i in checks)
{
// Could also check for a classname here to narrow
// your result set.
if(checks[i].type == 'checkbox')
hasCheck |= checks[i].checked;
}
if(!hasCheck)
alert('You should check one!');
return hasCheck;
}