Radio-Button zählen

loddarmattheus

Erfahrenes Mitglied
Hallo Leute,

angenommen ich habe ein Formular mit ungefähr 30 Radio-Button vom Typ

HTML:
<input type="radio" name="cross[ass]" value="1">

(natürlich haben alle einen anderen Namen aber den gleichen Wert 1).

Von diesen 30 müssen immer 2 ausgewählt werden. Hat jemand eine Idee, wie ich mittels Javascript checken kann, oder der User wirklich zwei ausgewähtl hat?

Danke für eine prompte Antwort.

Loddar
 
Is zwar nicht die schönste, aber die effektivste Lösung :)

Also, zuerst machst dir ne globale Counter variable
Danach schreibst dir ein script, (geht leicher als manuell) welches bei allen Radio Buttons ein onclick event einfügt. hier überprüfst du, ob der Button akttiviert oder deaktiviert wurde.

Jetzt kannst du, je nachdem ob er aktiviert bzw deaktiviert wurde, die globale Countervariable hoch(++) bzw hinunterzählen(--).

lg Masda
 
Hi,

eine weitere Möglichkeit:
Durchlaufe vor dem Versenden des Formulars alle Radiobuttons und zähle, wieviele angewählt wurden.
Entsprechend der Anzahl gesetzter Buttons gibst du am Ende des Scripts true oder false zurück.
Code:
function checkRadio(objForm){
  // Zählvariable
  var intCounter = 0;
  // Array mit allen Inputelementen
  var arrRadio = objForm.getElementsByTagName("input");

  // Alle Inputelemente durchlaufen
  for(var i=0; i<arrRadio.length; i++){
    // Falls es sich um einen Radiobutton handelt
    if(arrRadio[i].type == "radio"){
      // Falls der Button gewählt wurde -> Zähler inkrementieren
      if(arrRadio[i].checked)
        intCounter++;
      }
  }
  // Falls mindestens zwei Buttons gewählt wurden -> true, sonst false
  return (intCounter >= 2)?true:false;
}
Dem Script wird das Formularobjekt als Parameter übergeben. So könnte der Aufruf zum Beispiel
im SUBMIT-Button erfolgen.
HTML:
<input type="submit" onclick="return checkRadio(this.form);" value="submit" />
Ciao
Quaese
 

Neue Beiträge

Zurück