i have a quiz page runnning.
i want to capture the values of radio buttons checked and give the result using javascript
as long as i have 2 radio buttons for each question, the quiz works perfectly.it works for even 4 button.but if i have a mixture of questions some having 2 radio buttons and some having 4 buttons, it doesnt work.
how to rectify this problem
iam posting my code.
pls help me in rectifying it.
thanks
<html>
<body onload=load()>
<FORM NAME=”quizForm”>
<TABLE>
<TR><TD>Black = White</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q0″ VALUE=”false” onClick=check4()>
or False <INPUT TYPE=”RADIO” NAME=”q0″ VALUE=”false” onClick=check4()>
or no<INPUT TYPE=”RADIO” NAME=”q0″ VALUE=”false” onClick=check4()>
or yes<INPUT TYPE=”RADIO” NAME=”q0″ VALUE=”true” onClick=check4()> ?</TD></TR>
<TR><TD>2 + 2 = 4</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q1″ VALUE=”true” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q1″ VALUE=”false” onClick=check2()> ?</TD></TR>
<TR><TD>5 – 3 = 1</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q2″ VALUE=”false” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q2″ VALUE=”true” onClick=check2()> ?</TD></TR>
<TR><TD>7 * 7 = 49</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q3″ VALUE=”true” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q3″ VALUE=”false” onClick=check2()> ?</TD></TR>
<TR><TD>36 / 6 = 5</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q4″ VALUE=”false” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q4″ VALUE=”true” onClick=check2()> ?</TD></TR>
<TR><TD>99 – 33 = 66</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q5″ VALUE=”true” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q5″ VALUE=”false” onClick=check2()> ?</TD></TR>
<TR><TD>33 + 99 = 66</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q6″ VALUE=”false” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q6″ VALUE=”true” onClick=check2()> ?</TD></TR>
<TR><TD>5 + 4 + 3 = 12</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q7″ VALUE=”true” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q7″ VALUE=”false” onClick=check2()> ?</TD></TR>
<TR><TD>6 + 5 + 4 = 13</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q8″ VALUE=”false” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q8″ VALUE=”true” onClick=check2()> ?</TD></TR>
<TR><TD>81 / 9 = 9</TD>
<TD>True <INPUT TYPE=”RADIO” NAME=”q9″ VALUE=”true” onClick=check2()>
or False <INPUT TYPE=”RADIO” NAME=”q9″ VALUE=”false” onClick=check2()> ?</TD></TR>
</TABLE>
<INPUT TYPE=”text” NAME=”c1″ VALUE=”” SIZE=”3″>
<INPUT TYPE=”text” NAME=”w1″ VALUE=”” SIZE=”3″>
<INPUT TYPE=”text” NAME=”b1″ VALUE=”” SIZE=”3″>
<P>
<INPUT TYPE=”BUTTON” onClick=”count()” VALUE=”Check Answers”>
Correct: <INPUT TYPE=”TEXTBOX” NAME=”correct” VALUE=”” SIZE=”3″>
Wrong: <INPUT TYPE=”TEXTBOX” NAME=”wrong” VALUE=”” SIZE=”3″>
Blank: <INPUT TYPE=”TEXTBOX” NAME=”blank” VALUE=”” SIZE=”3″>
</FORM>
</body>
</html>
<SCRIPT LANGUAGE=”JavaScript”><!–
function load()
{
alert(“hi”);
document.quizForm.c1.value=0;
document.quizForm.w1.value=0;
document.quizForm.b1.value=0;
}
function check2() {
var correct = 0;
var wrong = 0;
var blank = 0;
for (var i=0;i<10;i++) {
var yesChoice = eval(“document.quizForm.q” + i + “[0].checked”);
var noChoice = eval(“document.quizForm.q” + i + “[1].checked”);
var yesAnswer = eval(“document.quizForm.q” + i + “[0].value”);
var noAnswer = eval(“document.quizForm.q” + i + “[1].value”);
if (yesChoice == noChoice)
{
blank++;
break; // can’t both be checked, thus must be both unchecked
}
else {
if ((yesChoice.toString() == yesAnswer) &&
(noChoice.toString() == noAnswer))
{
correct++;
break;
}
else
{
wrong++;
break;
}
}
}
document.quizForm.c1.value = eval(“document.quizForm.c1.value” + correct);
document.quizForm.w1.value = eval(“document.quizForm.w1.value” + wrong);
document.quizForm.b1.value = eval(“document.quizForm.b1.value” + blank);
}
function check4() {
var correct = 0;
var wrong = 0;
var blank = 0;
for (var i=0;i<10;i++) {
var choice1 = eval(“document.quizForm.q” + i + “[0].checked”);
var choice2 = eval(“document.quizForm.q” + i + “[1].checked”);
var choice3 = eval(“document.quizForm.q” + i + “[2].checked”);
var choice4 = eval(“document.quizForm.q” + i + “[3].checked”);
var ans1 = eval(“document.quizForm.q” + i + “[0].value”);
var ans2 = eval(“document.quizForm.q” + i + “[1].value”);
var ans3 = eval(“document.quizForm.q” + i + “[2].value”);
var ans4 = eval(“document.quizForm.q” + i + “[3].value”);
if ((choice1 == choice2) && (choice2 == choice3) && (choice3 == choice4))
{
blank++; // can’t both be checked, thus must be both unchecked
break;
}
else {
if ((choice1.toString() == ans1) && (choice2.toString() == ans2) && (choice3.toString() == ans3) && (choice4.toString() == ans4))
{
correct++;
break;
}
else
{
wrong++;
break;
}
}
}
document.quizForm.c1.value = eval(“document.quizForm.c1.value” + correct);
document.quizForm.w1.value = eval(“document.quizForm.w1.value” + wrong);
document.quizForm.b1.value = eval(“document.quizForm.b1.value” + blank);
}
function count()
{
var c1= eval(“document.quizForm.c1.value”);
var w1= eval(“document.quizForm.w1.value”);
var b1= eval(“document.quizForm.b1.value”);
document.quizForm.correct.value=c1;
document.quizForm.wrong.value=w1;
document.quizForm.blank.value=b1;
}
//–></SCRIPT>