嗨,如果选中任何单选按钮,我在检查代码时遇到一些问题我得到这个结果: 未捕获的类型错误: 无法读取 null 的属性"选中" 当我运行它时与此相关的代码是:
function validateForm() {
var msg="";
var LoE="";
...some code
for (var i=0; i<3; i++) {
if ((document.getElementById('"LoE" + i').checked)){
LoE="";
break;
}
Else
{
result = false;
msg+="You need to chose your level of entry";
}
}
...some more code
}
以及正在检查的单选按钮。它们位于名为 ExamEntry 的表单中
<tr>
<td><input type = "radio" name = "LevelOfEntry" id = "LoE0" value = "GCSE">GCSE</td>
</tr>
<tr>
<td><input type = "radio" name = "LevelOfEntry" id = "LoE1" value = "AS">AS</td>
</tr>
<tr>
<td><input type = "radio" name = "LevelOfEntry" id = "LoE2" value = "A2">A2</td>
</tr>
感谢您的帮助。
编辑按照注释中的建议删除了单引号,并替换为:
if ((document.getElementById("LoE" + i).checked)){
现在只得到代码的这一部分未指定的错误:
Else
{
result = false;
msg+="You need to chose your level of entry";
}
}
编辑:解决。非常感谢大家
请注意,我不是 100% 确定您要做什么,但是您在指定单选按钮的数量和使用 ID 而不是名称方面限制了自己。
使用 Jquery 使得使用单选按钮变得更加容易(只是说),或者就这篇文章而言,这是一种更强大的方式:
function get_radio_value() {
var inputs = document.getElementsByName("selected");
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].checked) {
return inputs[i].value;
}
}
}
function onSubmit() {
var id = get_radio_value();
alert("selected input is: " + id);
}
请参阅此链接:在操作时获取单选按钮的选定值