2 Không thể đọc thuộc tính 'đã kiểm tra' không xác định - Javascript

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM
  

Bảng điều khiển đang nói "Không thể đọc thuộc tính 'đã kiểm tra' không xác định"

Tôi có các nút radio mà tôi đang sử dụng cho một bảng câu hỏi và dựa trên câu trả lời của người đó, họ sẽ cho họ một dấu và cuối cùng tôi sẽ tính tất cả các dấu với nhau và gửi cho họ một thông điệp cụ thể tùy thuộc vào phạm vi mà điểm số rơi vào.

Tôi đã chơi xung quanh với các dấu ngoặc kiểm tra xem có gây ra lỗi không và kiểm tra xem các nút radio có được gắn nhãn chính xác không.

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

Tôi hy vọng sẽ có một cảnh báo xuất hiện với tổng số đang hiển thị. Nó đang hoạt động cho hai phần trước tuy nhiên tôi gặp lỗi với phần này vì một số lý do

Không có cảnh báo nào xuất hiện và khi tôi kiểm tra bảng điều khiển, tôi đang gặp lỗi -

  

"Không thể đọc thuộc tính 'đã kiểm tra' không xác định"

    
1
  1. document.getElementsByName('3.' + i)[x] không được xác định cho một trong các mục.
    2019-05-08 16: 23: 45Z
  2. Để gỡ lỗi, hãy thử đăng nhập vào bảng điều khiển tất cả document.getElementsByName('3.' + i).
    2019-05-08 16: 43: 07Z
2 Câu trả lời                              2                         

bạn nên đặt một kiểm tra để xem phần tử có tồn tại không, sau đó chạy tiếp theo nếu có điều kiện để tránh lỗi

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
2019-05-08 16: 24: 24Z

Tôi nghĩ phần tử này không tồn tại trên DOM.

document.getElementsByName ('3.' + i) [x] .checked

Vui lòng kiểm tra giá trị phần tử này

    
0
2019-05-08 16: 50: 43Z
nguồn đặt đây