Abfrage Radiobutton

MaW

Grünschnabel
Hallo,

ich habe 2x 2 Radiobuttons mit jeweils der Option JA / NEIN. Nun möchte ich per JS prüfen das mind. eine Option auf JA steht, aber folgendes will irgendwie nicht gehen:

Code:
if (document.form.option1.checked == "nein" &&  document.form2.option.checked == "nein") {
   alert("Bitte setze mindestens eine Option auf ja!");
   return false;
}

wenn ich statt checked == "nein" ein checked == true oder false mache bringt mir das ja nichts.

Hat jemand eine Idee?
 
Hi,

Du musst zum einen prüfen, ob die aktuelle Option gesetzt (checked==true) ist, zum
anderen, ob ihr Wert "ja" (value="ja") ist. Ist diese Bedingung erfüllt, ist in mindestens
einer RadioButton-Gruppe "Ja" gewählt worden.

Das zugehörig Script könnte zum Beispiel folgendermassen aussehen:
Code:
// Array für die Namen der RadioButtons
var arrRadio = new Array("radio1", "radio2");

function checkRadio(objForm){
    // Testvariable zunächst auf false setzen
    var boolCheck = false;

    // Array mit RadioButton-Namen durchlaufen
    for(i=0; i<arrRadio.length; i++){
        // RadioButton-Gruppe durchlaufen
        for(j=0; j<objForm.elements[arrRadio[i]].length; j++){
            // Falls eine Option gewählt wurde
            if((objForm.elements[arrRadio[i]][j].checked == true)&&(objForm.elements[arrRadio[i]][j].value == "ja"))
                boolCheck = true;
        }
        // Falls bereits eine Ja-Option gewählt wurde
        if(boolCheck == true)
            // For-Schleife verlassen
            break;
    }

    // Falls keine Ja-Option gewählt wurde
    if(boolCheck == false){
        alert("Mindestens eine Option auf \"Ja\" setzen!");
        return false;
    }

    return true;
}
Wenn Du dieses Script im onsubmit-Event des Formulars aufrufst, wird es nur
verschickt, wenn mindestens einmal "Ja" gewählt wurde. Andernfalls wird eine
entsprechende Meldung ausgegeben.

Im Array arrRadio werden die Namen der RadioButton-Gruppen angegeben.

Der entsprechende HTML-Code könnte wie folgt lauten:
Code:
<form action="" method="" onsubmit="return checkRadio(this);">
    <input type="Radio" name="radio1" value="ja">ja<br>
    <input type="Radio" name="radio1" value="nein">nein<br>
    <input type="Radio" name="radio2" value="ja">ja<br>
    <input type="Radio" name="radio2" value="nein">nein<br>
    <input type="Submit" name="submit" value="submit">
</form>
Wichtig ist, dass der Wert für die Ja-Option "ja" ist (value="ja")!

Hoffentlich hilft Dir das weiter.

Ciao
Quaese
 

Neue Beiträge

Zurück