Dommie: Radiobuttons - Ausgabe

Hallo Ihr!

Kleines Problem:

Im body-Tag habe ich stehen:

<form name="maske" action="">
<input name="level" type="radio" value="Regnum"> Regnum
</form>
<input type="button" value="check" onClick="check()">

Im head-Tag steht:

<script type="text/javascript">
function check() {
alert(document.forms[0].level.value);
}
</script>

Als Ausgabe bekomme ich im Alert-Fenster: Regnum

Soweit ist alles klar, jedoch jetzt möchte ich zur Auswahl einen zweiten Radio-Button einfügen, also setze ich in den form-Tag eine neue Zeile dazu:
<input name="level" type="radio" value="Phylum"> Phylum

Und seitdem, egal welchen Radiobutton ich anklicke oder wenn ich gar keinen anklicke, erhalte ich im Alert-Fenster: undefined

Was habe ich denn falsch gemacht?

Danke für alle Antworten, Dommie...

  1. Hi,

    Was habe ich denn falsch gemacht?

    Du bist davon ausgegangen, dass sich mehrere Elemente wie eines verhalten. Deine Radiobuttons sind eine Collection - diese hat Elemente, und _erst die_ verfügen über einen value. Der sich übrigens nicht in Abhängigkeit ihres checked-Zustandes verändert.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hallo Cheatah,

      was muss ich denn da jetzt dran ändern? Also mit _einem_ Radiobutton hat es ja funktioniert. Ich werde wohl die Elemente dieser Collection auslesen müssen, oder? Und wie mache ich das?

      Danke sehr, Dommie...

      1. Hi,

        was muss ich denn da jetzt dran ändern?

        das Lesen des Wertes.

        Also mit _einem_ Radiobutton hat es ja funktioniert.

        Ja, bedauerlicherweise. Ich finde das höchst inkonsistent.

        Ich werde wohl die Elemente dieser Collection auslesen müssen, oder?

        Ja.

        Und wie mache ich das?

        Mit einer Schleife.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    Soweit ist alles klar, jedoch jetzt möchte ich zur Auswahl einen zweiten Radio-Button einfügen, also setze ich in den form-Tag eine neue Zeile dazu:
    <input name="level" type="radio" value="Phylum"> Phylum

    Jetzt hast Du ein Array von Elementen, auf das Du so zugreifen kannst:
    alert(document.forms[0].level[INDEX].value);

    Fuer INDEX 0 bis irgendwas. Der Value nutzt Dir aber nix, Du willst ja wissen, ob der radio ausgewaehlt wurde:
    if(document.forms[0].level[INDEX].checked) alert(document.forms[0].level[INDEX].value)

    Am Besten Du nutzt eine Schleife, um alle Radios durchzugehen. Ausserdem denke ich, ein Blick in die hiesige Doku wuerde Deinem Basiswissen etwas auf die Spruenge helfen ;-)

    Gruesse, Joachim

    --
    Am Ende wird alles gut.