Reputation: 1578
This is my checkbox HTML code
<input id="termsCheckbox" name="termsCheckbox" type="checkbox" value="terms" <?PHP echo $terms; ?> class="checkbox">
this is javascript code
var terms = $("#termsCheckbox");
function validateTerms(){
if(termsCheckbox.checked == false){
terms_div.addClass("terms_error");
return false;
}
else{
terms_div.removeClass("terms_error");
return true;
}
}
I want to check whether checkbox checked or not and if not add a class to terms_div. Please help me to solve this problem. thanks
Upvotes: 15
Views: 96813
Reputation: 15892
You need to access the className
variable (pure JS) the following assumes your div
has an ID of terms_div
, that terms_error
is the only class you might want on the div
, and that you setup your checkbox with onClick="validateTerms();"
function validateTerms(){
var c=document.getElementById('termsCheckbox');
var d=document.getElementById('terms_div');
if (c.checked) {
d.className='';
return true;
} else {
d.className='terms_error';
return false;
}
}
Upvotes: 20
Reputation: 35309
Live Demo (Click the "Terms Div" text to test)
I didnt see the question tagged with jQuery, but I noticed a jQery selector was used.. so just to be safe I did it with pure JS anyway.
Pure JS
var terms = document.getElementById("termsCheckbox"),
terms_div = document.getElementById("terms_div");
function validateTerms(){
if(terms.checked == false){
if(terms_div.className.indexOf("terms_error")<0){
terms_div.className += " terms_error";
}
return false;
}else{
terms_div.className = terms_div.className.replace(/\bterms_error\b/,'');
return true;
}
}
Upvotes: 0
Reputation: 12417
if(document.form.termsCheckbox.checked==true)
alert('check box is cheked')
Upvotes: 2
Reputation: 342625
Simply bind an onchange handler to your checkbox.
$("#termsCheckbox").change(function() {
// class will be removed if checked="checked"
// otherwise will be added
$(this).toggleClass("terms_error", !this.checked);
}).change(); // set initial state
Upvotes: 1