2017-06-15 17 views
-2

Diese Funktion funktioniert gut, um ein Kontrollkästchen zu aktivieren, aber die else-Klausel deaktiviert es nicht.bedingte Kontrollkästchen in JavaScript deaktivieren

Jedes der drei Eingabefelder hat eine Anweisung onchange = 'checkOLR'. Was habe ich falsch gemacht?

+4

Ist 'co_month' ein Eingang? In diesem Fall müssen Sie die Eigenschaft 'value' des Objekts verwenden. – BenM

+0

Führen Sie nur die tatsächlichen Befehle zu überprüfen und deaktivieren Sie das Kontrollkästchen ordnungsgemäß, es muss ein Fehler mit Ihrem if-Anweisung sein – Ryan

+0

Zeigen Sie uns alle relevanten Code (auch die HTML). –

Antwort

0

Unter der Annahme, dass die Elemente, die Sie in der if-Anweisung überprüfen, Eingaben sind, müssen Sie die Werte dieser Felder überprüfen (mit dem value Attribut des Objekts). Andernfalls gibt die if()-Anweisung immer true zurück, da die Elemente nicht gleich einer leeren Zeichenfolge sind.

function checkOLR() 
{ 
    if(document.getElementById('co_month').value != "" || document.getElementById('regfee').value != "" || document.getElementById('pp_email').value != "") 
    { 
     // Check 
     document.getElementById("mycheckbox").checked = true; 
    } 
    else 
    { 
     // Uncheck 
     document.getElementById("mycheckbox").checked = false; 
    } 
} 
Verwandte Themen