C. Büttner: Radiobuttons auswerten

Hallo,

sitze hier schon den ganzen Abend vorm PC und frag mich warum folgendes "einfache" Programm so nicht läuft?!
Wenn man auf den Button klickt erhalte ich immer "undefined" - warum?

<html>
<head>
</head>
<body>
<form name="formular">
<p>Geben Sie Ihre Zahlungsweise an:</p>
<p>
<input type="radio" name="Zahl" value="Mastercard"> Mastercard<br>
<input type="radio" name="Zahl" value="Visa"> Visa<br>
<input type="radio" name="Zahl" value="AmericanExpress"> American Express<br>
<input type=button value="Abschicken" onclick="javascript:alert(formular.Zahl.value)">
</p>
</form>
</body>
</html>

Schreibe ich das Programm wie folgt um, dann sind die Varialen schon vorbelegt, auch wenn die Buttons noch nicht angeklickt sind (außer bei Opera).

<html>
<head>
</head>
<body>
<form name="formular">
<p>Geben Sie Ihre Zahlungsweise an:</p>
<p>
<input type="radio" name="Zahl1" value="Mastercard"> Mastercard<br>
<input type="radio" name="Zahl2" value="Visa"> Visa<br>
<input type="radio" name="Zahl3" value="AmericanExpress"> American Express<br>
<input type=button value="Abschicken" onclick="javascript:alert(formular.Zahl1.value);javascript:alert(formular.Zahl2.value);javascript:alert(formular.Zahl3.value)">
</p>
</form>
</body>
</html>

Wäre nett, wenn mir mal jemand auf die Sprünge helfen könnte.

Danke und Gruß
Carsten Büttner

  1. Hi,

    wenn du mehrere Radio-Buttons (wie sinnvoll angedacht) unter einem Namen zusammenfasst, dann hat diese Option-Group (meines Wissens) keinen Value. Du kannst sie aber über das automatisch entstandene Array abfragen:
    document.formularname.zahl[0].value

    MfG
    Rouven

    --

    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
  2. Hallo Carsten,

    kuck dir folgendes an: http://selfhtml.teamone.de/javascript/objekte/elements.htm#checked

    Gruss MR

  3. Hallo Carsten,

    so geht es:
    <input type=button value="Abschicken" onclick="javascript:alert(document.formular.Zahl[0].checked)">

    Gruß,
    Reni

    PS daß ihr um diese Zeit noch arbeiten könnt...

    1. Hallo Reni,

      offensichtlich hat es bei mir mit dem späten arbeiten bei mir nicht mehr geklappt;-)
      Aber die Tipps (auch die anderen) waren erfolgreich - erstmal Danke dafür!!
      Das "[0].checked" hatte mir einfach gefehlt. Jetzt klappt es auch mit der Weiterverarbeitung in PHP mit "$HTTP_POST_VARS["Zahl"][0] == true". Die "value" Angabe im Formular habe ich jetzt auch komplett weggelassen, sonst hat es bei mehreren Radiobuttons trotzdem nicht richtig funktioniert.

      Nochmals Danke
      Carsten

  4. <input type=button value="Abschicken" onclick="javascript:alert(formular.Zahl.value)">

    Im eventhandler hat 'javascript:' nichts verloren. es stellt allenfalls ein ntzloses Label da, was in Browsern, die keine Labels kennen zu Fehlernmeldungen führt.

    Struppi.