Javascript制作测验单选按钮

时间:2014-11-04 23:19:01

标签: javascript html

我用HTML和JavaScript编写了这段代码。我想做一个测验,但我仍然坚持为所有问题制作提交按钮,然后显示分数。

<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>

这是JavaScript的一部分。我认为我应该创建一个数组来存储问题,但是不知道如何在它之后检查它们。

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")

        }
    }

    }

先谢谢

2 个答案:

答案 0 :(得分:3)

你只获得了一个选定的radiobuttonlist,而不是全部!

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;

}

答案 1 :(得分:0)

在for循环中执行此操作

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")

            }
        }

    }

}