控制台说“无法读取未定义的属性(已检查)”
我有一个单选按钮,用于问卷调查,并根据回答的人给他们打分,最后我必须将所有分值一起计算出来,并根据回答的范围向他们发送特定的消息得分落入其中。
我一直在玩括号,检查是否出错,并检查单选按钮是否正确标记。
//javascript function that is having the issue
function calcSecThree(){
var total = 0;
for(var i=1; i <= 2; i++) {
for(var x = 0; x < 5; x++) {
if(document.getElementsByName('3.' + i)[x].checked){
total += x + 1;
}
}
}
alert("total is "+total);
};
我希望出现一个警报,其中显示正在显示的总数。它适用于前两节,但是由于某些原因我在此节中遇到错误
没有警报出现,当我检查控制台时出现错误-
“无法读取未定义的'已检查'属性”
答案 0 :(得分:1)
您应该检查一下元素是否存在,然后运行下一个if条件以避免错误
function calcSecThree() {
var total = 0;
for (var i = 1; i <= 2; i++) {
for (var x = 0; x < 5; x++) {
if (document.getElementsByName('3.' + i)[x]) {
if (document.getElementsByName('3.' + i)[x].checked) {
total += x + 1;
}
}
}
}
alert("total is " + total);
};
答案 1 :(得分:0)
我认为DOM中不存在此元素。
document.getElementsByName('3。'+ i)[x]。选中
请检查该元素值