Uwe: radio-buttons auswerten mit einer for Schleife

Hallo liebe Helfer,

anbei ein kleines Script, (welches so natürlich nicht läuft, da es in einem TiddlyWiki zum Einsatz kommen soll.)

* Die Auswertung der ersten Frage (Frage1) klappt, die der zweiten (Frage2) nicht. Warum ist das so?

* Wie kann das Script erweitert werden, so dass automatisch alle weiteren im html-Bereich ergänzten FrageN bis FrageZ ausgewertet werden?

-Uwe

----

<script>
window.auswertung = function() {
for (i=0;i<=document.FragenkatalogA.Frage1.length;i++)
{
// ist einer der beiden Radiobuttons innerhalb der Frage1 überhaupt vom Benutzer ausgewählt worden?
if (document.FragenkatalogA.Frage1[i].checked == false && document.FragenkatalogA.Frage1[i+1].checked == false) {
    alert("Sie haben nichts ausgewählt!");
}

if (document.FragenkatalogA.Frage1[i].checked == true && document.FragenkatalogA.Frage1[i].value == "wahr") {
    alert(i + 1 + ". Frage: Richtig!");
  }

if (document.FragenkatalogA.Frage1[i].checked == true && document.FragenkatalogA.Frage1[i].value == "falsch") {
    alert(i + ". Frage: Falsch!");
  }

}
}
</script>
<html>
<form name="FragenkatalogA" action="">

<table>
<tr>
<td align="right">Die Aussage ist</td>
<td style="width:35px text-align:center">wahr</td>
<td style="width:35px text-align:center">falsch</td>
</tr>
<tr>
<td><a> 1. <font color ="#ff0000"> Rot </font> ist eine Farbe.</a></td>
<td style="text-align:center"><input type="radio" name="Frage1" value="wahr"> </td>
<td style="text-align:center"><input type="radio" name="Frage1" value="falsch"> </td>
</tr>
<tr>
<td><a> 2. <strong> Schwarz</strong> ist eine Farbe </font></a></td>
<td align="center"><input type="radio" name="Frage2" value="wahr"> </td>
<td align="center"><input type="radio" name="Frage2" value="falsch"> </td>
</tr>
<table>
</form>
<input type="button" value="Auswerten" onclick="auswertung()">

</html>

----

  1. hi,

    * Die Auswertung der ersten Frage (Frage1) klappt, die der zweiten (Frage2) nicht. Warum ist das so?

    Weil du nirgends auf die Radiobuttons der Gruppe Frage2 zugreifst.

    * Wie kann das Script erweitert werden, so dass automatisch alle weiteren im html-Bereich ergänzten FrageN bis FrageZ ausgewertet werden?

    Bspw. mittels einer Schleife.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Weil du nirgends auf die Radiobuttons der Gruppe Frage2 zugreifst.

      Bspw. mittels einer Schleife.

      Diese Antworten haben mir wirklich sehr geholfen. So sehr, dass ich noch eine Frage hinterher schieben muss:

      Hat jemand bitte einen umsetzungsfähigen Hinweis dazu, wie man in einer Schleife auf die Gruppe Frage2 zugreifen kann? Ein Codebeispiel wäre hilfreich.

      -Uwe

      1. hi,

        Diese Antworten haben mir wirklich sehr geholfen.

        Auch wenn das vielleicht Ironie darstellen soll -

        So sehr, dass ich noch eine Frage hinterher schieben muss:

        • ich halte ein Antwort auf jeden Fall für hilfreich, wenn sie jemanden dazu bringt, (sich) weitere Fragen zu stellen.

        Hat jemand bitte einen umsetzungsfähigen Hinweis dazu,

        Wie du das mit dem Umsetzen hinkriegst, werden wir sehen.

        wie man in einer Schleife auf die Gruppe Frage2 zugreifen kann?

        Diese Frage hilft allerdings nicht sonderlich weiter - schliesslich hast du's für Frage1 ja auch schon geschafft, die Elemente dieser Gruppe in einer Schleife zu durchlaufen. Dann ginge es für Frage2 analog, falls es wirklich das gewesen wäre, was du wissen wolltest.

        Was du aber wohl eigentlich fragen willst, ist wie du mit einer Schleife über _mehrere_ Gruppen mit Namen Frage1, Frage2, Frage3, ... laufen kannst.

        Dazu sollte dir was einfallen, wenn du dir die hier beschriebenen verschiedenen Methoden zum Zugriff auf Formularelemente anschaust:
        http://de.selfhtml.org/javascript/objekte/elements.htm#allgemeines

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }