Klaus: Wert von Radiobutton ermitteln?

Hallo,

ich seh warscheinlich mal wieder den Wald vor lauter Bäumen nicht :-((

ich habe ein paar Radio-buttons:

<input type="radio" name="test" value="Eins">Option 1<br/>
<input type="radio" name="test" value="Zwei">Option 2<br/>
<input type="radio" name="test" value="Drei">Option 3<br/>

Über ein OnChange rufe ich eine javascript-Funktion auf, die mir den Wert des gedrückten Radiobuttons anzeigen lassen soll:

wert=document.form.elements["test"].value;
alert(wert);

Leider gibt mir der Alert immer 'undefined' zurück.

Kann mir jemand auf die Sprünge helfen?

Euer Klaus

  1. ich habe ein paar Radio-buttons:

    <input type="radio" name="test" value="Eins">Option 1<br/>
    <input type="radio" name="test" value="Zwei">Option 2<br/>
    <input type="radio" name="test" value="Drei">Option 3<br/>

    Über ein OnChange rufe ich eine javascript-Funktion auf, die mir den Wert des gedrückten Radiobuttons anzeigen lassen soll:

    wert=document.form.elements["test"].value;

    Es gibt nicht ein Element mit dem Namen test, sondern drei. Von welchem willst du den Wert? Von dem angeklickten, also musst du onclick (nicht onchange) den Wert des aktuellen Buttons ermitteln.

    Struppi.

    1. Hallo Struppi,

      also musst du onclick...

      Dann wäre er aber auf die Navigation mit der Maus beschränkt.

      Mit freundlichem Gruß
      Micha

      --
      simple JavaScript Spiele: Snake, MineSweeper, Sudoku oder Tetris
      1. also musst du onclick...
        Dann wäre er aber auf die Navigation mit der Maus beschränkt.

        Wieso?
        Ich hab's jetzt nur im Firefox probiert, da wird onclick auch mit der Tastatur gefeuert. onchange feuert eigentlich beim ändern des Wertes, der wird aber hier nicht geändert.

        Struppi.

        1. Hallo Struppi,

          Wieso?
          Ich hab's jetzt nur im Firefox probiert, da wird onclick auch mit der Tastatur gefeuert.

          Stimmt, im Opera auch. Ich hatte gedacht, dass ein Maus-Event (onclick) nicht beim Benutzen der Tastatur anspringt. Mein Fehler!

          onchange feuert eigentlich beim ändern des Wertes, der wird aber hier nicht geändert.

          Wieso?
          Ich hab's jetzt nur im Opera probiert, da wird onchange gefeuert.

            
          <form onchange="alert(event.target.value);">  
          <input type="radio" name="test" value="Eins">Option 1<br/>  
          <input type="radio" name="test" value="Zwei">Option 2<br/>  
          <input type="radio" name="test" value="Drei">Option 3<br/>  
          </form>  
            
          </script>  
          
          

          Mit freundlichem Gruß
          Micha

          --
          simple JavaScript Spiele: Snake, MineSweeper, Sudoku oder Tetris
      2. Hallo,

        also musst du onclick...
        Dann wäre er aber auf die Navigation mit der Maus beschränkt.

        nein. Bei "typischen Klick-Elementen" wie Radiobuttons, Checkboxes, normale Buttons und sogar Links feuert onclick sinnigerweise auch dann, wenn diese Elemente mit der Tastatur ausgelöst werden. Diese beiden Arten, das Element zu bedienen, sind äquivalent. Auch onfocus wird ja in beiden Fällen vor dem onclick ausgelöst; beim "echten" Klicken unmittelbar davor.

        So long,
         Martin

        --
        Wenn zwei dasselbe tun, sind sie vielleicht bald zu dritt.