これは私のチェックボックスのHTMLコードです
<input id="termsCheckbox" name="termsCheckbox" type="checkbox" value="terms" <?PHP echo $terms; ?> class="checkbox">
これはJavaScriptコードです
var terms = $("#termsCheckbox");
function validateTerms(){
if(termsCheckbox.checked == false){
terms_div.addClass("terms_error");
return false;
}
else{
terms_div.removeClass("terms_error");
return true;
}
}
チェックボックスがチェックされているかどうかをチェックし、そうでない場合はterms_divにクラスを追加します。この問題の解決を手伝ってください。ありがとう
className
変数(純粋なJS)にアクセスする必要があります。以下では、div
に_terms_div
_のIDがあり、_terms_error
_が唯一のクラスであると想定しています。 div
、および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;
}
}
_
ライブデモ(テストするには、「Terms Div」テキストをクリックしてください)
JQueryでタグ付けされた質問は表示されませんでしたが、jQeryセレクターが使用されていることに気付きました。
純粋な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;
}
}
Onchangeハンドラーをチェックボックスにバインドするだけです。
$("#termsCheckbox").change(function() {
// class will be removed if checked="checked"
// otherwise will be added
$(this).toggleClass("terms_error", !this.checked);
}).change(); // set initial state
チェックボックスタグにonclick="validateTerms();"
を追加してみてください
if(document.form.termsCheckbox.checked==true)
alert('check box is cheked')