我正在写一个表格进行个性测试。该页面有问题,用户需要为每个答案选择一个答案。该页面不允许用户跳过问题,并会提醒他们回答缺失的问题。表单提交后,页面会显示分数。如何通过for循环在JavaScript中选择单选按钮值?
我想使用for循环来存储数组中单选按钮的值。它不工作。
下面是HTML代码:
<!-- Form -->
<form name="quiz" onsubmit="return show()">
<!-- Question 1 -->
<p>Question 1</p>
<input type="radio" name="q0" value="a"> a
<br>
<input type="radio" name="q0" value="b"> b
<br>
<input type="radio" name="q0" value="c"> c
<!-- Question 2 -->
<!-- Question 3 -->
<!-- Question 4 -->
<!-- Question 5 -->
<p>Question 5</p>
<input type="radio" name="q4" value="a"> a
<br>
<input type="radio" name="q4" value="b"> b
<br>
<input type="radio" name="q4" value="c"> c
<!-- Submit Button -->
<input type="submit" value="Show Result">
</form>
这里是我的JavaScript代码:
function show() {
var questions = 5;
var score = 0;
var solution = ["a", "c", "a", "b", "b"];
var answers = [];
for (i = 0; i < questions; i++) {
answers[i] = document.quiz.eval('q' + i).value;
if (answers[i] == null || answers[i] == '') {
window.alert("You need to answer question " + (i + 1));
return false;
}
if (solution[i] == answers[i]) {
score++;
}
}
window.alert(score);
}
错误您在浏览器*开发人员工具控制台*看到的 - 我问,因为'document.quiz.eval'看起来像一个由功能名称 - 也许你想要像'document.forms.namedItem('quiz')。elements.namedItem('q'+ i).value' –
可能重复的[用Javascript获取单选按钮值](http:// stackoverflow .com/questions/9618504/get-radio-button-value-with-javascript) –