2016-04-28 2 views
0

Ich habe eine Checkbox "CR". Wenn es aktiviert ist, öffnet es ein Div, das 2 Radiobuttons enthält ("IA" und "FA"). Wenn der Benutzer nun "CR" anwählt, aber nicht mindestens ein Radio auswählt, sollte eine Warnung "Mindestens eine muss ausgewählt sein" ausgelöst werden. In meinem Fall erscheint die Warnung, selbst wenn eines der Optionsfelder aktiviert ist. Ich schätze, ich vermisse etwas sehr winziges, aber konnte nicht herausfinden. Unten ist der Code:Wenn das Kontrollkästchen aktiviert ist, wählen Sie ein Radio

<input type="checkbox" name="my_cr" id="CR"/>CR 
<input type="radio" id="IA" name="Initial" />IA 
<input type="radio" id="FA" name="Final" />FA 
<input type="submit" /> 

<script> 
else if(this.CR.checked) 
       { 
        if((!this.IA.checked) || (!this.FA.checked)) 
       { 
        alert("Choose the approver type"); 
        return false; 
       } 
       } 
</script> 

PS: "Else if", weil, ich bin auch ein paar andere Validierungen zu tun. Danke für die Hilfe.

+0

Sie benötigen, um die vollständige Validierung Code ... – ann0nC0d3r

Antwort

0

Ihr oder (||) sollte ein und sein (&&).

Wenn jetzt eine der Optionen deaktiviert ist, wird die Warnung angezeigt.

+0

Wäre das nicht bedeuten, dass sowohl die Radiobuttons ausgewählt werden müssen? – Jatin

+0

Nein, das bedeutet, dass beide Optionen deaktiviert sein müssen. – Keiwan

+0

Oh ja! Ich habs! Ich danke dir sehr. Ich wusste, dass ich einen sehr dummen Fehler machte, aber ich konnte das nicht herausfinden. – Jatin

0

Sie sollten in Betracht ziehen, dass die folgenden, indem Sie besser lesbar boolean:

var bothUnchecked = (!this.IA.checked && !this.FA.checked) 

if(bothUnchecked) { 
    ... 
} 
Verwandte Themen