This is a basic quiz. Only about 3 questions. I'm having issue with the
answer key which stays on a certain value regardless of acknowledging that
you have the correct answer for the first and moving on to the next answer.
Here's the code:
[CODE]
<html><head><title>Problem7</title>
<script type="text/javascript">
function attachHandlers()
{
var my_button = document.getElementById("sec_button");
my_button.onclick = checkAnswer;
}
function firstQuestion()
{
var the_box = document.getElementById("questions");
var first_ques = "what's the value of 5+4?";
the_stat = document.createTextNode(first_ques);
the_box.appendChild(the_stat);
}
function checkAnswer()
{
var the_questions = new Array();
the_questions[1] = "what's the value of 7+4?";
the_questions[2] = "what's the value of 9+6?";
the_questions[3] = "what's the value of 10+6?";
var the_key = new Array();
the_key[0] = "9";
the_key[1] = "11";
the_key[2] = "15";
the_key[3] = "16";
var the_field = document.getElementsByTagName("input")[0];
var i=0;
while(i < the_key.length)
{
if (the_field.value==the_key[i])
{
alert("Very Good");
i++;
}
else
{
alert("Please try again");
return
}
the_field.value="";
var the_div = document.getElementById("questions");
the_div.innerHTML="";
var text_node = document.createTextNode(the_questions[i]);
the_div.appendChild(text_node);
}
}
</script></head>
<body onLoad="attachHandlers(); firstQuestion();">
<div id = "questions"></div>
<input type="text" id="answerfield" size="20"><br>
<input type="button" value="check" id="sec_button">
</body>
</html>
[/CODE]
The answer key is staying on one value then checking it without me hitting
the button....
I know it's probably a simple step missing, but I can't seem to find it.
--
Message posted via WebmasterKB.com
http://www.webmasterkb.com/Uwe/Forums.aspx/javascript/200808/1
yes the 'while' continues its job
> I know it's probably a simple step missing, but I can't seem to find it.
without a reference (globale one) I don't see how to do.
There is how I'ld do :
<html><head><title>Problem7</title>
<script type="text/javascript">
var i=0;
var the_questions = new Array();
the_questions[0] = "what's the value of 5+4?";
the_questions[1] = "what's the value of 7+4?";
the_questions[2] = "what's the value of 9+6?";
the_questions[3] = "what's the value of 10+6?";
var the_key = new Array();
the_key[0] = "9";
the_key[1] = "11";
the_key[2] = "15";
the_key[3] = "16";
function attachHandlers()
{
var my_form = document.getElementById("quiz");
my_form.onsubmit = function() { return checkAnswer(); };
}
function Question()
{
var the_field = document.getElementById("answerfield");
the_field.value="";
var the_div = document.getElementById("questions");
the_div.innerHTML="";
var text_node = document.createTextNode(the_questions[i]);
the_div.appendChild(text_node);
}
function checkAnswer()
{
var the_field = document.getElementById("answerfield");
if (the_field.value==the_key[i])
{
alert("Very Good");
i++;
if( i<the_key.length ) Question();
}
else
{
alert("Please try again");
}
the_field.focus();
the_field.select();
return false;
}
</script></head>
<body onload="attachHandlers(); Question();">
<p id = "questions"></p>
<form id="quiz" action="#" >
<input type="text" id="answerfield" size="20"><br>
hit key [Enter] or this button: <input type="submit" value="check">
</form></body></html>
--
sm
Appreciate the response...the problem is solved. Thanks once again.
--
Message posted via http://www.webmasterkb.com