Dennis: Prüfen ob ein Radio Feld markiert ist

Beitrag lesen

Hi steffi,

function chkPayment()
{
   alert(document.form1.auswahl.value);
}

Er sagt immer das das Feld nicht definiert.

Richtig, denn da es ja mehrere Elemente mit dem selben Namen gibt, werden die so angesprochen:

document.form1.auswahl[0].value;  
document.form1.auswahl[1].value;  
document.form1.auswahl[2].value;

Auf diese Art und Weise kannst du also nicht rausfinden, welches Element angeklickt ist.

Wie kann ich prüfen ob ein Radio Element angeklickt ist.

Du kannst die Eigenschaft checked abfragen - die ist true oder false, je nachdem, ob das Element angeklickt ist oder nicht.

Was du also machen musst, ist nacheinander alle Felder abzufragen und so herrauszufinden, welches ausgewählt ist - denke aber auch daran, dass keins der Elemente ausgewählt sein kann.

So könnte das ungefähr aussehen:

function chkPayment()  
{  
   for(var i = 0; i < document.getElementsByName('auswahl').length; i++)  
   {  
     if(document.getElementsByName('auswahl')[i].checked == true)  
     {  
        return document.getElementsByName('auswahl')[i].value;  
     }  
   }  
   return false;  
}

Diese kleine Funkion liefert dir entweder den Wert des Value Attributes von dem Feld zurück, welches ausgewählt ist, oder false, wenn kein Radio Buttons ausgewählt ist.

MfG, Dennis.

--
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?