Reputation:
I have wrote this code in HTML and JavaScript. I wanted to make a Quiz but I am stuck on making the submit button for all the questions and then display the score.
<html>
<head>
<script src=funcs.js> </script>
<title>Quiz</title>
</head>
<body>
<form>
Pyetja 1 : Cila eshte formula e famshe e Njutonit?
<ul>
<li><input type="radio" name="a1" value="gabuar">E=mv^2 </li>
<li><input type="radio" name="a1" value="gabuar">E=mc^2 </li>
<li><input type="radio" name="a1" value="sakte">F=ma </li>
</ul>
Pyetja 2: Cila eshte data e clirimit te Shqiperise?
<ul>
<li><input type="radio" name="a2" value="gabuar">18.11.1944</li>
<li><input type="radio" name="a2" value="sakte">29.11.1944 </li>
<li><input type="radio" name="a2" value="gabuar">28.11.1994 </li>
</ul>
Pyetja 3: Me cilat shtete kufizohet Shqiperia, ne rruge tokesore?
<ul>
<li><input type="radio" name="a3" value="gabuar">Serbi,Kosove,Greqi,Maqedoni</li>
<li><input type="radio" name="a3" value="gabuar">Itali,Kosove,Greqi </li>
<li><input type="radio" name="a3" value="sakte">Mali Zi, Kosove,Maqedoni, Greqi </li>
</ul>
</form>
<p>
<input name="btSubmit" type="button" value="Submit" onClick="fSubmit()">
</p>
</body>
</html>
And this is the JavaScript part. I think that i should create an Array to store the questions but cant figure out how should I check them after it.
function fSubmit() {
var pgjSakte = document.getElementsByName("a1");
var nrRadio = pgjSakte.length;
var nrSakte =0
for(var i = 0; i< nrRadio; i++)
{
if(pgjSakte[i].checked)
{
if(pgjSakte[i].value == "sakte"){
alert("Sakte")
break;}
else
alert("Gabuar")
}
}
}
Thanks in Advance
Upvotes: 0
Views: 173
Reputation:
Do that in a for loop
function fSubmit() {
for(var i = 1;i < 4;i++){
elm = "a" + i;
pgjSakte = document.getElementsByName(elm);
nrRadio = pgjSakte.length;
nrSakte =0;
for(var j = 0; j< nrRadio; j++)
{
if(pgjSakte[j].checked)
{
if(pgjSakte[j].value == "sakte"){
alert("Sakte")
break;}
else
alert("Gabuar")
}
}
}
}
Upvotes: 0
Reputation: 257
You were only getting one selected radiobuttonlist and not all of them!
HTML
<div id='demo'> </div>
Javascript
function fSubmit() {
var pgjSakte = document.getElementsByTagName ('input');
var nrSakte = 0
for(var i = 0; i< pgjSakte.length; i++)
{
if(pgjSakte[i].checked == true)
{
if(pgjSakte[i].value == "sakte"){
alert("Sakte");
nrSakte++;
}
if(pgjSakte[i].value == "gabuar"){
alert("Gabuar");
}
}
}
document.getElementById("demo").innerHTML = nrSakte;
}
Upvotes: 3