Roxanna M
10-09-2007, 11:25 AM
I am making a Javascript Quiz which will determine what sort of shopper you are, but I am having trouble getting it to calculate the answer for me. As it is a ‘type’ quiz it looks at how many are assigned to each variable rather than looking at values.
I can’t paste the code below as it is over 1000 characters but will be happy to send it to anyone who may be able to help. I want the correct answer to show when you click on ‘Compute Score’. I have already created inner HTML so that once you have finished the quiz, answering all the questions, it changes when you click on it.
I got the original template from http://www.spacefem.com/tutorials/typequiz.shtml. Any help would be gratefully received.
<HTML>
<HEAD>
<TITLE>
My Quiz
</TITLE>
<link rel="stylesheet" type="text/css" href="http://www.pricerunner.co.uk/style.css">
<script language="JavaScript" type="text/javascript" src="http://www.pricerunner.co.uk/www-static/pricerunner.js"></script>
<script LANGUAGE="JavaScript">
<!--
function process()
{
var chop = 0;
var clever = 0;
var window = 0;
var sniper = 0;
var closet = 0;
var shopaholic = 0;
var f = document.f;
var i = 0;
for (i = 0; i < f.a.length; i++) if (f.a[i].checked) value = f.a[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.b.length; i++) if (f.b[i].checked) value = f.b[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.c.length; i++) if (f.c[i].checked) value = f.c[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.d.length; i++) if (f.d[i].checked) value = f.d[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.e.length; i++) if (f.e[i].checked) value = f.e[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.f.length; i++) if (f.f[i].checked) value = f.f[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.g.length; i++) if (f.g[i].checked) value = f.g[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
/* -------------------------------- */
var out = "0";
i = 0;
var dupe = 0;
var out1 = "";
var out2 = "";
var out3 = "";
var output = "";
if (chop > i) { out ="chop"; i = chop; }
if (clever = i) { out ="clever"; i = clever; dupe++; out1 = "chop"; out2 = "clever"; }
if (clever > i) { out ="clever"; i = clever; dupe = 0; }
if (window = i) { out ="window"; i = window; dupe++; if (dupe = 1) { out2 = "window"; } if (dupe = 2) { out3 = "window"; } }
if (window > i) { out ="window"; i = window; dupe = 0; }
if (sniper = i) { out ="sniper"; i = sniper; dupe++; if (dupe = 1) { out1 = out; out2 = "sniper"; } if (dupe = 2) { out3 = "sniper"; } }
if (sniper > i) { out ="sniper"; i = sniper; dupe = 0; }
if (closet = i) { out ="closet"; i = closet; dupe++; if (dupe = 1) { out1 = out; out2 = "closet"; } if (dupe = 2) { out3 = "closet"; } }
if (closet > i) { out ="closet"; i = closet; dupe = 0; }
if (shopaholic = i) { out ="shopaholic"; i = shopaholic; dupe++; if (dupe = 1) { out1 = out; out2 = "shopaholic"; } if (dupe = 2) { out3 = "shopaholic"; } }
if (shopaholic > i) { out ="shopaholic"; i = shopaholic; }
if (dupe = 0) { ouput = out; }
if (dupe = 1) { output = out1 + " / " + out2; }
if (dupe = 2) { output = out1 + " / " + out2 + " / " + out3; }
/* !!!OUTPUT "output" variable to HTML HERE!!! ---------------------------------- */
//location.href = out + ".shtml";
document.getElementById('score').innerHTML = 'You are a XXXX shopper!';
//}//close of process()
score = Math.round(score/numQues*100);
form.percentage.value = score + "%";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {
correctAnswers += i + ". " + answers[i-1] + "\r\n";
}
form.solutions.value = correctAnswers;
}
I can’t paste the code below as it is over 1000 characters but will be happy to send it to anyone who may be able to help. I want the correct answer to show when you click on ‘Compute Score’. I have already created inner HTML so that once you have finished the quiz, answering all the questions, it changes when you click on it.
I got the original template from http://www.spacefem.com/tutorials/typequiz.shtml. Any help would be gratefully received.
<HTML>
<HEAD>
<TITLE>
My Quiz
</TITLE>
<link rel="stylesheet" type="text/css" href="http://www.pricerunner.co.uk/style.css">
<script language="JavaScript" type="text/javascript" src="http://www.pricerunner.co.uk/www-static/pricerunner.js"></script>
<script LANGUAGE="JavaScript">
<!--
function process()
{
var chop = 0;
var clever = 0;
var window = 0;
var sniper = 0;
var closet = 0;
var shopaholic = 0;
var f = document.f;
var i = 0;
for (i = 0; i < f.a.length; i++) if (f.a[i].checked) value = f.a[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.b.length; i++) if (f.b[i].checked) value = f.b[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.c.length; i++) if (f.c[i].checked) value = f.c[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.d.length; i++) if (f.d[i].checked) value = f.d[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.e.length; i++) if (f.e[i].checked) value = f.e[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.f.length; i++) if (f.f[i].checked) value = f.f[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
for (i = 0; i < f.g.length; i++) if (f.g[i].checked) value = f.g[i].value;
if (value == "1") { chop++; }
if (value == "2") { clever++; }
if (value == "3") { window++; }
if (value == "4") { sniper++; }
if (value == "5") { closet++; }
if (value == "6") { shopaholic++; }
/* -------------------------------- */
var out = "0";
i = 0;
var dupe = 0;
var out1 = "";
var out2 = "";
var out3 = "";
var output = "";
if (chop > i) { out ="chop"; i = chop; }
if (clever = i) { out ="clever"; i = clever; dupe++; out1 = "chop"; out2 = "clever"; }
if (clever > i) { out ="clever"; i = clever; dupe = 0; }
if (window = i) { out ="window"; i = window; dupe++; if (dupe = 1) { out2 = "window"; } if (dupe = 2) { out3 = "window"; } }
if (window > i) { out ="window"; i = window; dupe = 0; }
if (sniper = i) { out ="sniper"; i = sniper; dupe++; if (dupe = 1) { out1 = out; out2 = "sniper"; } if (dupe = 2) { out3 = "sniper"; } }
if (sniper > i) { out ="sniper"; i = sniper; dupe = 0; }
if (closet = i) { out ="closet"; i = closet; dupe++; if (dupe = 1) { out1 = out; out2 = "closet"; } if (dupe = 2) { out3 = "closet"; } }
if (closet > i) { out ="closet"; i = closet; dupe = 0; }
if (shopaholic = i) { out ="shopaholic"; i = shopaholic; dupe++; if (dupe = 1) { out1 = out; out2 = "shopaholic"; } if (dupe = 2) { out3 = "shopaholic"; } }
if (shopaholic > i) { out ="shopaholic"; i = shopaholic; }
if (dupe = 0) { ouput = out; }
if (dupe = 1) { output = out1 + " / " + out2; }
if (dupe = 2) { output = out1 + " / " + out2 + " / " + out3; }
/* !!!OUTPUT "output" variable to HTML HERE!!! ---------------------------------- */
//location.href = out + ".shtml";
document.getElementById('score').innerHTML = 'You are a XXXX shopper!';
//}//close of process()
score = Math.round(score/numQues*100);
form.percentage.value = score + "%";
var correctAnswers = "";
for (i=1; i<=numQues; i++) {
correctAnswers += i + ". " + answers[i-1] + "\r\n";
}
form.solutions.value = correctAnswers;
}