Javascript 更新帖子:在多次点击正确答案的“上一步”和“下一步”后,你的结果会产生类似“你得到了4分中的16分”的结果 var correct = 0; var pos = 0; var choice; var allQuestions = [ {question:"

Javascript 更新帖子:在多次点击正确答案的“上一步”和“下一步”后,你的结果会产生类似“你得到了4分中的16分”的结果 var correct = 0; var pos = 0; var choice; var allQuestions = [ {question:",javascript,html,Javascript,Html,更新帖子:在多次点击正确答案的“上一步”和“下一步”后,你的结果会产生类似“你得到了4分中的16分”的结果 var correct = 0; var pos = 0; var choice; var allQuestions = [ {question:"What is 10 + 5?", choices:["15", "12", "10"], answer: "A" }, {question:"What is 10 - 5?", choices:["5", "6", "8" ], answ


更新帖子:在多次点击正确答案的“上一步”和“下一步”后,你的结果会产生类似“你得到了4分中的16分”的结果
var correct = 0;
var pos = 0;
var choice;
var allQuestions = [
{question:"What is 10 + 5?", choices:["15", "12", "10"], answer: "A" },
{question:"What is 10 - 5?", choices:["5", "6", "8"   ], answer: "A" },
{question:"What is 10 * 5?", choices:["50", "60", "70"], answer: "A" },
{question:"What is 10 / 5?", choices:["1", "2", "3"   ], answer: "B" }
];

function getID(x) {
return document.getElementById(x)
}

function renderQuestions () {
var testStatus = getID("test_status");
var test = getID("test");
if(pos >= allQuestions.length) {
    testStatus.innerHTML = "Test Completed";
    test.innerHTML = "<h2>" + "You got " + correct  + " out of " +  allQuestions.length + "</h2><br/>";
    pos = 0;
    return false
};
testStatus.innerHTML = "Question " + (pos + 1) + " of " + allQuestions.length;

var A = allQuestions[pos].choices[0];;
var B = allQuestions[pos].choices[1];;
var C = allQuestions[pos].choices[2];

test.innerHTML = "<h2>" + allQuestions[pos].question  + "</h2><br/>";
test.innerHTML += '<input type="radio" value="A" name="answerChoice" /> ' + A + '<br />';
test.innerHTML += '<input type="radio" value="B" name="answerChoice" /> ' + B + '<br />';
test.innerHTML += '<input type="radio" value="C" name="answerChoice" /> ' + C + '<br /><br />';
if (pos == allQuestions.length - 1) {
    test.innerHTML += '<input type="button" id="next" onclick="prevAnswer()" value="Prev"> ';
    test.innerHTML += '<input type="button" id="next" onclick="checkAnswer()" value="Submit"> ';
}
else if (pos >= 1) {
    test.innerHTML += '<input type="button" id="next" onclick="prevAnswer()" value="Prev"> ';
    test.innerHTML += '<input type="button" id="next" onclick="checkAnswer()" value="Next"> ';
}
else {
    test.innerHTML += '<input type="button" id="next" onclick="checkAnswer()" value="Next"> ';
}

test.innerHTML += '<br /><br /><p id="error"></p>'
}

choice = document.getElementsByName("answerChoice");
var checkedAnswer = null;

function checkAnswer() {

choice = document.getElementsByName("answerChoice");
var checkedAnswer = null;
for (var i = 0; i < choice.length; i++) {
    if(choice[i].checked) {
        checkedAnswer = choice[i].value;
    }
}

if( checkedAnswer == null ) {
    document.getElementById("error").innerHTML = 'Please select an answer'
    return false;
}

if (checkedAnswer == allQuestions[pos].answer){
    correct++
}

pos++
renderQuestions()
}
function prevAnswer() {
pos--
renderQuestions()
}
<div id="header">Simple Quiz Application</div>

<div id="test_status"></div>
<div id="test"></div>
function renderQuestions() {
var testStatus = getID("test_status");
var test = getID("test");
if (pos >= allQuestions.length) {
    testStatus.innerHTML = "Test Completed";
    test.innerHTML = "<h2>" + "You got " + correct + " out of " + allQuestions.length + "</h2><br/>";
    pos = 0;
    return false
};
testStatus.innerHTML = "Question " + (pos + 1) + " of " + allQuestions.length;

var A = allQuestions[pos].choices[0];;
var B = allQuestions[pos].choices[1];;
var C = allQuestions[pos].choices[2];
test.innerHTML = "<h2>" + allQuestions[pos].question + "</h2><br/>";
for (var j = 0; j < 3; j++) {
    var letter = null;
    switch (j) {
        case 0:
            letter = "A";
            break;
        case 1:
            letter = "B";
            break;
        case 2:
            letter = "C";
            break;
    }
    if (savedAnswers[pos] == j) {
        test.innerHTML += '<input type="radio" checked="true" value="' + letter + '" name="answerChoice" /> ' + letter + '<br />';
    } else {
        test.innerHTML += '<input type="radio" value="' + letter + '" name="answerChoice" /> ' + letter + '<br />';
    }
}

//test.innerHTML += '<input type="radio" value="A" name="answerChoice" /> ' + A + '<br />';
//test.innerHTML += '<input type="radio" value="B" name="answerChoice" /> ' + B + '<br />';
//test.innerHTML += '<input type="radio" value="C" name="answerChoice" /> ' + C + '<br /><br />';
if (pos == allQuestions.length - 1) {
    test.innerHTML += '<input type="button" id="next" onclick="prevAnswer()" value="Prev"> ';
    test.innerHTML += '<input type="button" id="next" onclick="checkAnswer()" value="Submit"> ';
} else if (pos >= 1) {
    test.innerHTML += '<input type="button" id="next" onclick="prevAnswer()" value="Prev"> ';
    test.innerHTML += '<input type="button" id="next" onclick="checkAnswer()" value="Next"> ';
} else {
    test.innerHTML += '<input type="button" id="next" onclick="checkAnswer()" value="Next"> ';
}

test.innerHTML += '<br /><br /><p id="error"></p>'
allQuestions[pos].userAnswer = checkedAnswer;
test.innerHTML += 
    '<input type="radio" value="A" name="answerChoice" '
    + (allQuestions[pos].userAnwer == 1 ? 'checked' : '')
    + ' /> ' + A + '<br />';
choice = document.getElementsByName("answerChoice");
var checkedAnswer = null;
for (var i = 0; i < choice.length; i++) {
    if(choice[i].checked) {
        answers[pos] = choice[i].value;
    }
}

if( answers[pos] == null ) {
    document.getElementById("error").innerHTML = 'Please select an answer'
    return false;
}

pos++
renderQuestions()
if (typeof answers[pos] !== undefined) {
    var radios = document.getElementsByName('answerChoice');
    var rLen = radios.length, i;
    for (i = 0; i < rLen; ++i) {
        if (answers[pos] === radios[i].value) {
        radios[i].checked = true;
        }
    }
}
if(pos >= allQuestions.length) {
// Check answers
var qLen = allQuestions.length, correct = 0;
for (var i = 0; i < qLen; ++i) {
    if (answers[i] === allQuestions[i].answer) {
        ++correct;
    }
}
testStatus.innerHTML = "Test Completed";
test.innerHTML = "<h2>" + "You got " + correct  + " out of " +  allQuestions.length + "</h2><br/>";
pos = 0;
return false
};