So I have this simple condition:
var q1 = document.forms["quizForm"]["q1"].value;
And I have to repeat it 5 times like this:
var q1 = document.forms["quizForm"]["q1"].value;
var q2 = document.forms["quizForm"]["q2"].value;
var q3 = document.forms["quizForm"]["q3"].value;
var q4 = document.forms["quizForm"]["q4"].value;
var q5 = document.forms["quizForm"]["q5"].value;
But Instead I want to use a simple cycle like this:
for (n = 1; n < 5; n++) {
var qn = document.forms["quizForm"]["qn"].value;
}
So how do I add number n to a variable q? So instead of q1 it looked something like qn in the cycle?
So If I use this loop:
function submitAnswers(){
var total = 5;
var score = 0;
for (n = 1; n <= 5; n++) {
var qn = document.forms["quizForm"]["q" + n].value;
}
//Validation
if( ! q1){
alert('You missed question 1');
return false;
}
}
Validation doesn't trigger, like if q1 wasn't existing.
But if I do next it triggers:
function submitAnswers(){
var total = 5;
var score = 0;
var q1 = document.forms["quizForm"]["q1"].value;
//Validation
if( ! q1){
alert('You missed question 1');
return false;
}
}
So I guess qn isn't working it's declaring qn
as a value instead.
I'm trying to implement something like this:
for (n = 1; n <= 5; n++) {
eval('var q' + n + '=document.forms['quizForm']['q' + n + '].value;');
alert(q1);
}
But no luck so far.