I am building a mobile web app with jQuery Mobile and I want to check if a checkbox is checked. Here is my 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()\" />
But for some reason or another it doesn\'t execute it.
Please help !
----EDIT-----
This is what I have for the moment.
<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>
----EDIT--
Solved it, the problem was that the fieldcontain was also named \'remember\'
checked
is boolean
property so you can directly use it in IF
condition:-
<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>
try this:
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.\")
}
}
Your script doesn\'t know what \"remember\" is. you need to get the element first using getElementById()
This should allow you to check if element with id=\'remember\'
is \'checked\'
if (document.getElementById(\'remember\').is(\':checked\')
If you are using this form for mobile app then you may use the required attribute html5.
you dont want to use any java script validation for this. It should work
<input id=\"remember\" name=\"remember\" type=\"checkbox\" required=\"required\" />
use like this
<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()\" />
remember
is undefined … and the checked
property is a boolean not a number.
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.\")
}
}
if (document.getElementById(\'remember\').checked) {
alert(\"checked\");
}
else {
alert(\"You didn\'t check it! Let me check it for you.\");
}
I am using this and it works for me with Jquery:
Jquery:
var checkbox = $(\'[name=\"remember\"]\');
if (checkbox.is(\':checked\'))
{
console.log(\'The checkbox is checked\');
}else
{
console.log(\'The checkbox is not checked\');
}
Is very simple, but work\'s.
Regards!
Try This
<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>
You can also use JQuery methods to accomplish this:
<script type=\"text/javascript\">
if ($(\'#remember\')[0].checked)
{
alert(\"checked\");
}
</script>