Wie kann ich überprüfen, ob ein Kontrollkästchen aktiviert ist?

186

Ich erstelle eine mobile Web-App mit jQuery Mobile und möchte überprüfen, ob ein Kontrollkästchen aktiviert ist. Hier ist mein Code.

<script type=text/javascript>
  function validate(){
    if (remember.checked == 1){
      alert("checked") ;
    } else {
      alert("You didn't check it! Let me check it for you.")
    }
  }
</script>

<input id="remember" name="remember" type="checkbox" onclick="validate()" />

Aber aus irgendeinem Grund wird es nicht ausgeführt.

Bitte helfen Sie!

---- EDIT ----- Das habe ich momentan.

<DIV data-role="content" data-theme="g">
    <DIV class=ui-grid-g-login>
        <FORM method=post action=[$=PROBE(266)/] data-theme="C">
            <P>~DATA_ERROR~</P>
            <div id="mail" data-role="fieldcontain">
                <label for="mail">Email:*</label>       
                <input id="mail" name="mail" type="email" />
            </div>
            <div id="pass" data-role="fieldcontain">
                <label for="pass">Paswoord:*</label>        
                <input id="pass" name="pass" type="password" />
            </div>
            <div id="remember" data-role="fieldcontain">
                <label for="remember">Onthoud mij</label>       
                <input id="remember" name="remember" type="checkbox" onclick="validate()" />
            </div>
            <P><INPUT class=btn name=submit value=Login type=submit  onclick="validate()"></P>  
        </FORM>
    </DIV>
</DIV><!-- /content -->

<script type=text/javascript>
function validate(){
    var remember = document.getElementById('remember');
    if (remember.checked){
        alert("checked") ;
    }else{
        alert("You didn't check it! Let me check it for you.")
    }
}
</script>

----BEARBEITEN--

Das Problem wurde behoben, indem der Feldcontain auch als "Erinnern" bezeichnet wurde.

Steaphann
quelle
1
Was ist rememberin diesem Zusammenhang: if (remember.checked == 1){???
PeeHaa
Später sollte es sich E-Mail und Passwort merken. Es ist für eine Anmeldeseite
Steaphann
Was ich versuche zu sagen ist , dass rememberist undefinedin diesem Zusammenhang. Versuchen Sie es console.log(remember);.
PeeHaa
Welche HTML-Version verwenden Sie? Es ist nicht wirklich XHTML, oder?
Herr Lister

Antworten:

271

checkedist booleanEigentum, so dass Sie es direkt in folgenden IFBedingungen verwenden können:

 <script type="text/javascript">
    function validate() {
        if (document.getElementById('remember').checked) {
            alert("checked");
        } else {
            alert("You didn't check it! Let me check it for you.");
        }
    }
    </script>
Pranav
quelle
2
Ich bekomme immer die Nachricht 'Du hast es nicht überprüft! Lass es mich für dich prüfen.'
Steaphann
Nein, es funktioniert gut für mich; Ich erhalte beide Warnmeldungen.
Pranav
@Steaphann Haben Sie das Wort "Erinnern" durch Ihre Kontrollkästchen-ID ersetzt? ... oh, gerade bemerkt 2012 0.o ... ps Sie haben das Semikolon nach der 2. Warnmeldung vergessen
josh.thomson
..Was ist, wenn ich nicht möchte, dass es für mich überprüft wird und ich nur sehen möchte, ob es überprüft wird oder nicht?
Mark Kramer
@ josh.thomson Semikolons sind optional.
Kojow7
60

Versuche dies:

function validate() {
  var remember = document.getElementById("remember");
  if (remember.checked) {
    alert("checked");
  } else {
    alert("You didn't check it! Let me check it for you.");
  }
}

Ihr Skript weiß nicht, was die Variable rememberist. Sie müssen das Element zuerst mit getElementById () abrufen.

Clem
quelle
Sie sollten auch raten, das zu entfernen == 1. Es funktioniert nur wegen zweier Fehler. Eigentlich ist der Wert trueoder false, er sollte nur verwendenif( remeber.checked )
jAndy
Ich bekomme immer die Nachricht 'Du hast es nicht überprüft! Lass es mich für dich prüfen.'
Steaphann
16

Auf diese Weise können Sie überprüfen, ob das Element mit id='remember'is ist'checked'

if (document.getElementById('remember').is(':checked')
Peter
quelle
3
isgehört nicht zum DOM-Element Objekt
yves amsellem
10
.is()- ist eine jQuery-Funktion. .checkedist Javascript.
Max Kaplan
8

Wenn Sie dieses Formular für mobile Apps verwenden, können Sie das erforderliche Attribut html5 verwenden. Sie möchten hierfür keine Java-Skriptüberprüfung verwenden. Es sollte funktionieren

<input id="remember" name="remember" type="checkbox" required="required" />
Shenbaga Kannan
quelle
5

benutze so

<script type=text/javascript>
function validate(){
if (document.getElementById('remember').checked){
          alert("checked") ;
}else{
alert("You didn't check it! Let me check it for you.")
}
}
</script>

<input id="remember" name="remember" type="checkbox" onclick="validate()" />
hkutluay
quelle
1
Ich bekomme immer die Nachricht 'Du hast es nicht überprüft! Lass es mich für dich prüfen.'
Steaphann
@ user1251632 WFM auch. Können Sie Ihre Frage bearbeiten und zeigen, was Sie jetzt haben? Möglicherweise haben Sie einen Fehler beim Kopieren und Einfügen gemacht.
Herr Lister
document.getElementById ('Remember') .check == 1 wurde von mir vor Ihrem Kommentar geändert. Möglicherweise liegt das Problem darin.
Hkutluay
4

Ich benutze dies und es funktioniert für mich mit Jquery :

Jquery:

var checkbox = $('[name="remember"]');

if (checkbox.is(':checked'))
{
    console.log('The checkbox is checked');
}else
{
    console.log('The checkbox is not checked');
}

Ist sehr einfach, aber Arbeit.

Grüße!

Radames E. Hernandez
quelle
3
    if (document.getElementById('remember').checked) {
        alert("checked");
    }
    else {
        alert("You didn't check it! Let me check it for you.");
    }
Lakshmana Kumar
quelle
2

rememberist undefiniert ... und die checkedEigenschaft ist ein Boolescher Wert, keine Zahl.

function validate(){
    var remember = document.getElementById('remember');
    if (remember.checked){
        alert("checked") ;
    }else{
        alert("You didn't check it! Let me check it for you.")
    }
}
QUentin
quelle
2

Verwenden Sie den folgenden einfachen Code: https://jsfiddle.net/Divyesh_Patel/v7a4h3kr/7/

<input type="checkbox" id="check">
<a href="#" onclick="check()">click</a>
<button onclick="check()">button</button>
<script>
 function check() {
    		if (document.getElementById('check').checked) {
            alert("checked");
        } else {
            alert("Not checked.");
        }
       
    }

</script>

Divyesh
quelle
2

Das sollte funktionieren

    function validate() {
        if ($('#remeber').is(':checked')) {
            alert("checked");
        } else {
            alert("You didn't check it! Let me check it for you.");
        }
    }
Aditya
quelle
1

Sie können dies versuchen:

if ($(#remember).is(':checked')){
   alert('checked');
}else{
   alert('not checked')
}
Donminick Bautista
quelle
0

Verwenden Sie den folgenden einfachen Code: https://jsfiddle.net/Divyesh_Patel/v7a4h3kr/7/

<input type="checkbox" id="check">
<a href="#" onclick="check()">click</a>
<button onclick="check()">
button
</button>
<script>
 function check() {
    		if (document.getElementById('check').checked) {
            alert("checked");
        } else {
            alert("You didn't check it! Let me check it for you.");
        }
       
    }

</script>

Divyesh
quelle
-1

Versuche dies

<script type="text/javascript">
window.onload = function () {
    var input = document.querySelector('input[type=checkbox]');

    function check() {
        if (input.checked) {
            alert("checked");
        } else {
            alert("You didn't check it.");
        }
    }
    input.onchange = check;
    check();
}
</script>

quelle
-1

Sie können auch JQuery-Methoden verwenden, um dies zu erreichen:

<script type="text/javascript">
if ($('#remember')[0].checked) 
{
 alert("checked");
}
</script>
Supriya
quelle