Auswertung von Radioboxen mit Feedback
paule
- javascript
0 Encoder
Hallo an alle,
folgendes Problem: Möchte einen Quiz mit Radioboxen erstellen, der auswertet und die falschen Antworten berichtigt. Hab mir was zusammengebaut, dass auch funktioniert. Finde es aber nicht optimal. Außerdem wird das bei mehreren Fragen reichlich Quelltext. Wie kann man zusammenfassen obwohl immer eine andere Radiobox angklickt werden muss?
Hier der Quelltext:
var deaktiviert;
var geklickt;
function auswerten()
{
var name;
name=window.document.quiz1.name.value;
var punkte;
punkte=0;
deaktiviert=false;
if(window.document.quiz1.Frage1[0].checked==true)
{punkte = punkte + 1;
for (var i = 0; i<window.document.quiz1.Frage1.length; i++)
{if(window.document.quiz1.Frage1[i].checked==false)
{deaktiviert=true;
window.document.quiz1.Frage1[i].disabled=deaktiviert};}
}
else
{geklickt=true;
window.document.quiz1.Frage1[0].checked=geklickt;
for (var i = 0; i < window.document.quiz1.Frage1.length; i++)
{deaktiviert=true;
window.document.quiz1.Frage1[i].disabled=deaktiviert;}
}
window.alert(name+" ,du hast "+ punkte +" Punkte erreicht!");
}
function zurueck()
{
window.document.quiz1.name.value="";
deaktiviert=false;
geklickt=false;
for (var i = 0; i<window.document.quiz1.elements.length; i++)
{window.document.quiz1.elements[i].disabled=deaktiviert;
window.document.quiz1.elements[i].checked=geklickt;}
}
Indem du dir alles nötige zu den einzelnen Fragen in einem Array speicherst und dann die Elemente in einer Schleife durchläufst und dann mit den Daten des Arrays vergleichst.
Dazu nennst du die Formularelemente so, dass du sie mit dem Schleifenzähler (i) ansprechen kannst.