【发布时间】:2015-07-28 22:31:47
【问题描述】:
我需要验证表单中的多个复选框。 如果未选中“primi”和“secondi”,我将显示一个警报,如果两者都选中,我将显示另一个警报。
这是我的表单代码:
<td><input class="quadrato" id="primi" name="primi" type="checkbox" value="1" /></td>
<td><input class="quadrato" id="primi" name="primi" type="checkbox" value="2" /></td>
<td><input class="quadrato" id="primi" name="primi" type="checkbox" value="3" /></td>
<td><input class="quadrato" id="secondi" name="secondi" type="checkbox" value="13" /></td>
<td><input class="quadrato" id="secondi" name="secondi" type="checkbox" value="14" /></td>
<td><input class="quadrato" id="secondi" name="secondi" type="checkbox" value="15" /></td>
<td><input class="quadrato" id="secondi" name="secondi" type="checkbox" value="16" /></td>
这是我用来检查“primi”是否被检查的javascript函数:
var i, primi = document.getElementsByName('primi');
for (i = 0; i <= primi.length; i++){
if (primi[i].checked){
alert('yes');
return true;
} else{
alert('error');
return false;
}
}
问题是只有当我选择第一个复选框而不是另一个复选框时,这才有效! 我该如何解决我的问题?
提前致谢
【问题讨论】:
-
这是复选框还是单选按钮?是否可以选择多个“primo”?还是不止一个“秒”?顺便说一句,正如其他人已经说过的:id 在 DOM 中是唯一的
-
这是复选框。不,不可能选择多个“primo”或“secondo”(但我已经解决了这个问题)
-
如果不可能有多项选择,您可以使用复选框来完成单选按钮的工作。单选按钮具有所有相同的名称,并且只会发布选中的按钮(就像您一样)。复选框有一个数组作为名称(如 name="primi[]"),所有选中的值都将发布在该数组中。我可以建议你仔细看看这两个 html 标签之间的区别吗?
-
我知道单选按钮是解决我的问题的最佳方式,但我不能解决其他问题
标签: javascript html forms validation checkbox