Я создаю тест, отображающий один вопрос за раз, но когда я перезагружаю страницу, появляется сообщение от повторной отправки, и оно переходит к следующему вопросу, даже если на предыдущий вопрос не было ответа. Я бы хотел, чтобы он оставался в том же вопросе. или сбросьте тест. Любая помощь действительно ценится HTML КОД
<form action="/readingTest" onsubmit="return validateForm()" method="POST">
<input type="radio" id="OP1" name="options" value="<%= word.OP1 %>"><label for="OP1"> <%= word.OP1 %> </label><br>
<input type="radio" id="OP2" name="options" value="<%= word.OP2 %>"><label for="OP2"> <%= word.OP2 %> </label><br>
<input type="radio" id="OP3" name="options" value="<%= word.OP3 %>"><label for="OP3"> <%= word.OP3 %> </label><br>
<input type="radio" id="OP4" name="options" value="<%= word.OP4 %>" ><label for="OP4"> <%=word.OP4 %> </label><br><br>
<input type="submit" id="submit" value="submit"/>
</form>
Node js код:
var questions = [];
//var currentQuestions = [];
var qNum = -1; //current question number
var limit = 7; //total number of questions tested
var count = -1; //index to insert answer.
var allowprev = false;
app.get('/tests',function(req,res){
res.render('tests.html');
});
app.post('/readingTest', function(req,res) {
db.connect(function (err){
db.query("SELECT * FROM Questions", function(err, result, fields){
if(err) throw err;
questions = result;
if(qNum==-1){
qNum++;
count++;
console.log(allowprev);
console.log('c:'+count+' q:'+qNum);
res.render('readingTest.ejs',{word:questions[randOrder[qNum]], number:qNum+1, check:allowprev });
}
else{
if(req.body.before=='before'){
qNum--;
count--;
if(qNum==0){allowprev=false};
console.log(allowprev);
console.log('c:'+count+' q:'+qNum);
res.render('readingTest.ejs',{word:questions[randOrder[qNum]], number:qNum+1, check:allowprev});}
else{
if(qNum==limit-1){
testResult[count]=req.body.options;
res.render('results.ejs',{tResults:testResult});
testResult=new Array(7);
qNum=-1;count=-1;
randOrder = randOrder.slice(0,7);
}
else{
testResult[count]=req.body.options;
allowprev=true;
qNum++;
count++;
console.log(allowprev);
console.log('c:'+count+' q:'+qNum);
res.render('readingTest.ejs',{word:questions[randOrder[qNum]], number:qNum+1, check:allowprev});
}
}
}
console.log('h:'+testResult);
});
});
});
app.get('/results', function(req,res){
res.render('results.ejs');});