无法读取未定义的属性“已检查”-Javascript

时间:2019-05-08 16:22:08

标签: javascript

  

控制台说“无法读取未定义的属性(已检查)”

我有一个单选按钮,用于问卷调查,并根据回答的人给他们打分,最后我必须将所有分值一起计算出来,并根据回答的范围向他们发送特定的消息得分落入其中。

我一直在玩括号,检查是否出错,并检查单选按钮是否正确标记。

//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);
};

我希望出现一个警报,其中显示正在显示的总数。它适用于前两节,但是由于某些原因我在此节中遇到错误

没有警报出现,当我检查控制台时出现错误-

  

“无法读取未定义的'已检查'属性”

2 个答案:

答案 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]。选中

请检查该元素值