Formularprüfung von RadioButtons

The_Answer1985

Erfahrenes Mitglied
Hallo zusammen,

hab ein Formular, das mit JavaScript geprüft wird. Das klappt auch wunderbar, bis auf meine RadioButtons... da zeigt sich keine Reaktion.

Mein Problem bei der Prüfung ist, dass die RadioButtons dynamisch erzeugt werden und somit unklar ist, wieviele Buttons am Ende vorhanden sind.

Bisher prüfe ich folgendermaßen:
Code:
function pruefe(){

   // ... Prüfung der übrigen Elemente ...

   // Anmerkung: es gibt nur ein Formular, die RadioButton-Gruppe heisst "lieferant"
   for(var i=0; i < document.forms[0].elements(lieferant).length; i++){
        
        // Falls der aktuelle Radiobutton gesetzt ist
        if(document.forms[0].elements[lieferant[i]].checked == false){
                 alert("Bitte wählen Sie einen Lieferanten");
                 return false;
        }
   }

Wie gesagt... alle Elemente werden geprüft und die Fehlermeldung wir auch ausgegeben. Aber sobald alle Eingaben getroffen wurden (mit Ausnahme der RadioButtons) wird das Formular versendet... ohne die Fehlermeldung für die RadioButtons zu liefern.

Hoffe ihr könnt mir helfen.

Liebe Grüße
 
Hi,

auf die Radiobuttons musst du folgendermassen zugreifen:
Code:
document.forms[0].elements['lieferanten'][intIndex]; // 0 <= intIndex < document.forms[0].elements['lieferanten'].length
Weiterhin musst du prüfen, ob ein Radiobutton gesetzt ist. Ist das der Fall, somit ist die geforderte Bedingung für die Gruppe bereits erfüllt ("mindestens ein Button gewählt").

Versuch es mal so:
Code:
function pruefe(){
  // ... Prüfung der übrigen Elemente ...

  var blnRadioCheck = false;

  // Anmerkung: es gibt nur ein Formular, die RadioButton-Gruppe heisst "lieferant"
  for(var i=0; i < document.forms[0].elements['lieferant'].length; i++){
    // Falls der aktuelle Radiobutton gesetzt ist
    if(document.forms[0].elements['lieferant'][i].checked){
      blnRadioCheck = true;  // Markieren, dass mindestens ein Radiobutton gesetzt ist
      break;                 // Schleife verlassen
    }
  }

  // Falls kein Radiobutton gesetzt wurde
  if(!blnRadioCheck){
    alert("Bitte wählen Sie einen Lieferanten");
    return false;
  }
}
Vielleicht hilft dir das weiter.

Ciao
Quaese
 

Neue Beiträge

Zurück