Guido: Value von Radiobuttons ist -undefined-...

Hi,

ich habe folgende abfrage im script

<input type="Radio" name="kntw" value="per_Email">per E-mail
<input type="Radio" name="kntw" value="per_Post">per Post
<input type="Radio" name="kntw" value="telefonisch" checked>telefonisch.

Ich möchte nun den Inhalt von diesem Button abfrage und dachte ich könnte es mit

document.Formularname.kntw.value

tun.
Wenn ich das aber so mache ist der Inhalt 'undefined'.

Was mache ich falsch?

Gruss, Guido

  1. Hallo!

    Ich möchte nun den Inhalt von diesem Button abfrage und dachte ich könnte es mit document.Formularname.kntw.value tun.
    Wenn ich das aber so mache ist der Inhalt 'undefined'.

    Frag erst mal ab welcher der drei buttons "checked" ist, und dann probiers nochmal mit value.

    for (i=0; i<document.Formularname.kntw.length; i++) {
      if (document.Formularname.kntw[i].checked) {
         alert (document.Formularname.kntw[i].value);
      }
    }

    müsste so gehen.

    lg bernhard

  2. Hallo Guido!

    document.Formularname.kntw.value

    Du vergißt, daß Du drei Radiobuttons mit diesem Namen hast, Du mußt sie also über Index-Nummern ansprechen:

    document.Formularname.kntw[i].value

    Viele Grüße
    Carsten

  3. Hi Guido

    <input type="Radio" name="kntw" value="per_Email">per E-mail
    <input type="Radio" name="kntw" value="per_Post">per Post
    <input type="Radio" name="kntw" value="telefonisch" checked>telefonisch.

    Ich möchte nun den Inhalt von diesem Button abfrage und dachte ich könnte es mit

    document.Formularname.kntw.value

    Du hast drei Radiobuttons alle mit dem selben Namen. Von welchem soll denn nun der value abgefragt werden? Sicher´lich von dem der aktiviert wurde, also checked ist.

    Somit must du fragen welcher checked ist. Dazu musst du wissen, dass alle Radiobuttons eines Namens (bei dir 3) ein array aufspannen.

    Also frag das array ab

    for(i=0; i<=document.Formularname.kntw.length; i++)
       {
       if(document.Formularname.kntw[i].checked == true)
          wert = document.Formularname.kntw[i].value;
       }
     Das sollte soweit stimmen, ist aber ungetestet.

    Ich hoffe das bringt dich auf den Weg.

    Bye Ed X