hi dennis,
ich habe dein beispiel mal umgebaut, so wie es bei mir lauten müsste:
function chkPayment()
{
var okay = false;
for(var i = 0; i < document.formpayment.getElementsByName('payment').length; i++)
{
if(document.formpayment.getElementsByName('payment')[i].checked == true)
{
okay = true;
}
}
if (okay == false)
{
alert("Sie haben keine Zahlungsart ausgewählt");
return false;
}
}
Die Funktion wird ausgeführt, sobald der Form abgeschickt wird. Leider wird keine Meldung angezeigt, wenn ich nichts ausgewählt habe.
Ist da noch was dran falsch?
steffi
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:
>
> ~~~javascript
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.