Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I am buildin 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'

share|improve this question
What is remember in this context: if (remember.checked == 1){??? – PeeHaa Mar 27 '12 at 10:05
Later on it should remember email and password. It's for a login page – Steaphann Mar 27 '12 at 10:14
What I am trying to say is that remember is undefined in that context. Try console.log(remember);. – PeeHaa Mar 27 '12 at 10:17
Which version of HTML are you using? It's not really XHTML, is it? – Mr Lister Mar 27 '12 at 10:24

6 Answers

try this it is working:-

<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>
share|improve this answer
I always get the message 'You didn't check it! Let me check it for you.' – Steaphann Mar 27 '12 at 10:14
Nope its working fine for me ; i am getting both alert messages. – Pranav Mar 27 '12 at 10:19

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()

share|improve this answer
You should also advice to strip that == 1. Its only working because of two errors. Actually the value is true or false, he should just using if( remeber.checked ) – jAndy Mar 27 '12 at 10:08
good point. thanks for that, I've updated the answer – stratton Mar 27 '12 at 10:15
I always get the message 'You didn't check it! Let me check it for you.' – Steaphann Mar 27 '12 at 10:15

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" />
share|improve this answer
Thanks a lot Luke – shenbaga kannan Jun 8 '12 at 12:02

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()" />
share|improve this answer
I always get the message 'You didn't check it! Let me check it for you.' – Steaphann Mar 27 '12 at 10:10
it's working... – hkutluay Mar 27 '12 at 10:20
@user1251632 WFM too. Can you edit your question and show what you have now? Perhaps you made a copy and paste error. – Mr Lister Mar 27 '12 at 10:22
document.getElementById('remember').checked == 1 was changed by me bfore your comment.. it may be the problem. – hkutluay Mar 27 '12 at 10:31

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.")
    }
}
share|improve this answer
    if (document.getElementById('remember').checked) {
        alert("checked");
    }
    else {
        alert("You didn't check it! Let me check it for you.");
    }
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.