在循环中使用 DOM 时:未捕获的类型错误:无法读取空错误的属性“已检查”
When using DOM within a loop: Uncaught TypeError: Cannot read property 'checked' of null error
嗨,如果选中任何单选按钮,我在检查代码时遇到一些问题我得到这个结果: 未捕获的类型错误: 无法读取 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);
}
请参阅此链接:在操作时获取单选按钮的选定值
相关文章:
- Jqx图表给出错误错误:
属性高度=“-1”的负值无效 - 谷歌地图 API 错误:属性<航点>::中的错误
- 未捕获的类型错误:属性'$'对象[object Window]的
- 错误“属性'日期选择器'在带有打字稿的类型'IAugmentedJQuery'上不存在
- 类型错误属性 然后是未定义的
- 挖空引用错误 - 属性在存在时未定义
- “语法错误:属性列表后缺少}” 如何使Javascript符号证明
- 错误:
属性宽度=“NaN” 6d3.v3.min.js:1 的值无效: 属性 x=“NaN” - Ajax 和 JS on select_taf;语法错误:属性列表后缺少 }
- 获取错误语法错误:属性列表 url 后缺少 }:http://localhost/mcportal/public/pos
- Google Maps JavaScript : 未捕获错误: 属性
- 类型错误:属性 1 不可配置,无法删除
- Javascript/HTML错误“属性”selectReason“的值为null或未定义,而不是函数对象
- Mootools'未捕获的类型错误:属性'容器'对象#<对象>不是函数'添加
- 错误:
属性残雪=“NaN"在dimple.js - D3.js错误:
属性用于折线图 - 错误:d3.v4.min.js:3错误:<属性宽度:期望长度,"
- SVG路径错误"d"属性
- 错误:
d =“属性.饼状图 - 未捕获的类型错误:属性'fn'对象[object DOMWindows]的不是函数