javascript - 具有相同名称的单选按钮的在线测验

标签 javascript html radio-button

我正在使用 Js 做一个简单的测验,问题是我的内部循环(即 i)没有按预期工作。

我考了 3 个问题,每个问题有 3 个单选选项,每个问题的选项名称相同。第一题的所有选项都是name='cap',第二题的选项是name='an',第三题的选项是name='lang'.

我的js函数如下:

function my(){
  var count=0; 
  var totalQuestions = 3;
  var correctAnswers = 0;
  var alertText;
  var n=["cap","an","lang"];
  var j,i;
  for(j=0; j<n.length; ++j){
    var x = document.getElementsByName('n[j]');
    for(i = 0; i < x.length; ++i){
      if (x[i].checked){
        if (x[i].value == 'true'){
          count=count+10;
          correctAnswers++;
          break;
        }
      }
    }
  }
  if(correctAnswers == totalQuestions){
    alertText = "Congratulations! You got all the questions right!";
  }
  else {
    alertText = "You got " + correctAnswers + " correct answers and score is " + count;
  }
  alert(alertText);
}

最佳答案

替换行

var x = document.getElementsByName('n[j]');

var x = document.getElementsByName(n[j]);

这是个问题,因为对于 js getElementsByName('n[y]') 意味着“获取名称为 n[y] 的元素”,但不是列表项 n,其中包含您需要选择的元素的名称。

祝你好运!

关于javascript - 具有相同名称的单选按钮的在线测验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35945241/

相关文章:

HTML:多语言元描述?

html - CSS:如何选择 ol 标签中包含的所有 ul 标签

ios - 如何在表格 View 中创建单选按钮

javascript - 读取选中的单选按钮,但不由检查触发

javascript - 过渡保持结构上的光滑 slider

javascript - 不同html5视频之间的平滑过渡

php - 如何在菜单元素之间添加空间(在 wordpress 中)?

javascript - 将数据分离到类框中

javascript - 缩放图像以最适合框架(div)的算法

javascript - Window.Location.Href = 由选定的单选按钮值设置的变量