2016-03-19 2 views
1

ich habe:CSS-Label auf input for = „“ Fehler

<label class="checkbox-container" for="terms">I agree 
        with the Terms and Conditions</label> 
<input class="checkbox required" id="terms" name="terms" type="checkbox"> 

Ich mag das Etikett des :: bevor Farbe auf Rot zu ändern, wenn die Fehlerklasse bei der Eingabe aufgerufen wird. Für Live-Vorschau Kasse: http://apespark.com/formifyPro/examples/register.html

Ich habe keine Ahnung, wie dies in CSS angeben und dieses spezielle Fall-Szenario entwerfen.

+0

ich habe es geschafft, es zu tun: label.error + Label: vor, ist aber nach, dass die Checkbox nicht funktioniert. –

+0

Mögliches Duplikat von [Gibt es einen CSS-Elternselektor?] (Http://stackoverflow.com/questions/1014861/is-there-a-css-parent-selector) – CBroe

Antwort

1

Ist das was du meinst? - JSFiddle

Sie ein wenig Javascript verwenden, um den Stil des Etiketts auf rot zu wechseln, wenn das Kontrollkästchen nicht aktiviert ist, was ich denke, ist das, was Sie wollen, wie folgt:

html:

<label class="checkbox-container" for="terms" id="termText">I agree 
        with the Terms and Conditions</label> 
<input class="checkbox required" id="terms" name="terms" type="checkbox"> 
<button id="click1"> 
Submit 
</button> 

javascript:

document.getElementById("click1").onclick = function checkTerms(){ 
if((document.getElementById("terms")).checked){ 

} else{ 
document.getElementById("termText").style.color = "red"; 
} 
} 
+0

Um den leeren Block in der 'if'-Anweisung zu vermeiden , negiere den Fall: 'if (! (document.getElementById (" terms ")) .checked) {'. Dann enthält der Körper nur die Farbsatzanweisung und benötigt keine "else" -Klausel. –

+0

Guter Punkt, George - das ist viel sauberer. Vielen Dank. –