在javascript循环中为测验反馈返回多个反馈实例

在javascript循环中为测验反馈返回多个反馈实例,javascript,loops,return,Javascript,Loops,Return,这个测验效果很好,只是我不能让它返回所有的错误答案反馈——只有最后一个错误答案反馈。例如,如果我为#1和#2输入答案“c”,则应该在页面底部同时显示“问题1-答案:a”和“问题2-答案:b”。但是,它只返回“问题2-答案:b”,因为这是最后一个不正确的答案,所以出于某种原因,它不会返回所有反馈 <!DOCTYPE HTML> <html> <head> <title>Quiz Questions And Answers</title&

这个测验效果很好,只是我不能让它返回所有的错误答案反馈——只有最后一个错误答案反馈。例如,如果我为#1和#2输入答案“c”,则应该在页面底部同时显示“问题1-答案:a”和“问题2-答案:b”。但是,它只返回“问题2-答案:b”,因为这是最后一个不正确的答案,所以出于某种原因,它不会返回所有反馈

<!DOCTYPE HTML>
<html>
<head>
    <title>Quiz Questions And Answers</title>
</head>

<body>
    <center><h1>Quiz Questions</h1></center>
<p>
<form name="quiz">
<p>
    <b>Question 1.
    <br>What is the 1st letter of the alphabet?<br></b>
    <blockquote>
<input type="radio" name="q1" value="a">A<br>
<input type="radio" name="q1" value="b">B<br>
<input type="radio" name="q1" value="c">C<br>
</blockquote>

<p><b>
<hr>
Question 2.
<br>What is the 2nd letter of the alphabet?<br></b>
<blockquote>
<input type="radio" name="q2" value="a">A<br>
<input type="radio" name="q2" value="b">B<br>
<input type="radio" name="q2" value="c">C<br>
</blockquote>
<p><b>


<input type="button"value="Grade Me"onClick="getScore(this.form);">
<input type="reset" value="Clear"><p>
Number of score out of 15 = <input type= text size 15 name= "mark">
Score in percentage = <input type=text size=15 name="percentage"><br>

</form>
<p>

<form method="post" name="Form" onsubmit="" action="">
</form>

<script>
    var numQues = 2;
    var numChoi = 3;
    var answers = new Array(2);
    answers[0] = "a";
    answers[1] = "b";
function getScore(form) {

    var score = 0;
    var currElt;
    var currSelection;

for (i=0; i<numQues; i++) {
    currElt = i*numChoi;
    answered=false; 
for (j=0; j<numChoi; j++) {
  currSelection = form.elements[currElt + j];
  if (currSelection.checked) {
      answered=true;   
    if (currSelection.value == answers[i]) {
      score++;
      break;
    } else if (currSelection.value != answers[i]) {
        qreturn = "Question " + (i+1) +  " - Answer: " + answers[i];
        document.getElementById("qreturn").innerHTML = qreturn;
        //this is the incorrect answer feedback
        break;
    }
  } 
}
if (answered ===false){alert("Do answer all the questions, Please") ;return false;}
}
var scoreper = Math.round(score/numQues*100);
form.percentage.value = scoreper + "%";
form.mark.value=score;
}
</script>

<p id="qreturn"></p>

问答游戏
问答题


问题1。

字母表的第一个字母是什么?
A
B
C

问题2。
字母表的第二个字母是什么?
A
B
C
15分中的分数= 百分比分数=
var numQues=2; var numChoi=3; var answers=新数组(2); 答案[0]=“a”; 答案[1]=“b”; 函数getScore(表格){ var得分=0; var currElt; 变量选择;
对于(i=0;i您使用
innerHTML=…
,这意味着元素将在每次迭代中被替换。因此,必须使用
+=
运算符或
appendChild()
函数来显示所有答案

固定代码


问答游戏
问答题


问题1。

字母表的第一个字母是什么?
A
B
C

问题2。
字母表的第二个字母是什么?
A
B
C
15分中的分数= 百分比分数=
var numQues=2; var numChoi=3; var answers=新数组(2); 答案[0]=“a”; 答案[1]=“b”; 函数getScore(表格){ document.getElementById(“qreturn”).innerHTML='' var得分=0; var currElt; 变量选择;
因为(i=0;我感谢你!等我一分钟内得到你的回答时,我会接受的。