チェックボックスがオンになっているかどうかを確認するにはどうすればよいですか?


187

jQuery Mobileを使用してモバイルWebアプリを構築しています。チェックボックスがオンになっているかどうかを確認したいと思います。これが私のコードです。

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

しかし、何らかの理由で実行されません。

助けてください !

----編集-----これは今のところ私が持っているものです。

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

----編集-

それを解決しました、問題はfieldcontainが「覚えている」とも呼ばれていたことでした


1
rememberこのコンテキストには何がありますif (remember.checked == 1){か????
PeeHaa

後で、電子メールとパスワードを覚えておく必要があります。ログインページ用
Steaphann

私が言おうとしているのは、それrememberundefinedその文脈にあるということです。お試しくださいconsole.log(remember);
PeeHaa

どのバージョンのHTMLを使用していますか?実際にはXHTMLではありませんよね。
リスター氏、2012年

回答:


272

checkedであるbooleanあなたが直接にそれを使用することができるようにプロパティIF条件: -

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

2
「確認しませんでした!確認させていただきます。」
Steaphann 2012年

いいえ、私にとっては問題ありません。両方の警告メッセージが表示されます。
プラナフ

@Steaphann「remember」という単語を自分のチェックボックスIDに置き換えましたか?...ああ、ちょうど2012 0.oに気付いた... ps 2番目の警告文の後にセミコロンを忘れた
josh.thomson

..チェックしてほしくないのに、チェックされているかどうかだけを確認したい場合はどうすればよいですか?
マーククレイマー

@ josh.thomsonセミコロンはオプションです。
kojow7

61

これを試して:

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.");
  }
}

スクリプトは変数rememberが何であるかを知りません。最初にgetElementById()を使用して要素を取得する必要があります。


また、それを取り除くようにアドバイスする必要があり== 1ます。2つのエラーのため、その唯一の機能。実際には、値はtrueまたはfalse、彼はちょうど使用する必要がありますif( remeber.checked )
jAndy

「確認しませんでした!確認させていただきます。」
Steaphann 2012年

16

これにより、次の要素がid='remember'あるかどうかを確認できます'checked'

if (document.getElementById('remember').is(':checked')

3
isDOM要素オブジェクトに属していない
yves amsellem '19 / 07/15

10
.is()-jQuery関数です。.checkedJavaScriptです。
max kaplan 2015年

8

このフォームをモバイルアプリで使用している場合は、必須属性html5を使用できます。このためにJavaスクリプト検証を使用する必要はありません。うまくいくはず

<input id="remember" name="remember" type="checkbox" required="required" />

5

このように使う

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

1
「確認しませんでした!確認させていただきます。」
Steaphann 2012年

@ user1251632 WFMも。質問を編集して、今あるものを示すことができますか?コピーと貼り付けのエラーが発生した可能性があります。
リスター氏2012年

document.getElementById( 'remember')。checked == 1はコメントの前に私が変更しました。問題がある可能性があります。
hkutluay 2012年

4

私はこれを使用しており、Jqueryで動作します:

jquery:

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

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

非常に単純ですが、作業は簡単です。

よろしく!



3

以下の簡単なコードを使用してください: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>


2

rememberは未定義であり、checkedプロパティは数値ではなくブール値です。

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.")
    }
}

2

これはうまくいくはずです

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


0

以下の簡単なコードを使用してください: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>


-1

これを試して

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

-1

JQueryメソッドを使用してこれを実現することもできます。

<script type="text/javascript">
if ($('#remember')[0].checked) 
{
 alert("checked");
}
</script>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.