Bagaimana saya dapat memeriksa apakah kotak centang dicentang?


187

Saya sedang membangun aplikasi web seluler dengan jQuery Mobile dan saya ingin memeriksa apakah kotak centang dicentang. Ini kode saya.

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

Tetapi untuk beberapa alasan atau lain itu tidak melaksanakannya.

Tolong bantu !

---- EDIT ----- Inilah yang saya miliki untuk saat ini.

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

Memecahkannya, masalahnya adalah bahwa fieldcontain juga bernama 'ingat'


1
Apa yang ada rememberdalam konteks ini: if (remember.checked == 1){???
PeeHaa

Nantinya harus ingat email dan kata sandi. Ini untuk halaman login
Steaphann

Yang ingin saya katakan adalah itu rememberada undefineddalam konteks itu. Coba console.log(remember);.
PeeHaa

Versi HTML apa yang Anda gunakan? Itu tidak benar-benar XHTML, bukan?
Tuan Lister

Jawaban:


272

checkedadalah booleanproperti sehingga Anda dapat langsung menggunakannya dalam IFkondisi: -

 <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
Saya selalu menerima pesan 'Anda tidak memeriksanya! Biarkan aku memeriksanya untukmu. '
Steaphann

Tidak berfungsi dengan baik untuk saya; saya mendapatkan kedua pesan peringatan.
Pranav

@Steaphann Apakah Anda mengganti kata 'ingat' dengan id kotak centang Anda? ... oh, baru perhatikan 2012 0.o ... ps Anda lupa titik koma setelah pernyataan peringatan ke-2
josh.thomson

..Bagaimana jika saya tidak ingin memeriksa untuk saya dan saya hanya ingin melihat apakah sudah diperiksa atau tidak?
Mark Kramer

@ josh.thomson semi-titik dua adalah opsional.
kojow7

61

Coba ini:

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 Anda tidak tahu apa variabelnya remember. Anda harus mendapatkan elemen terlebih dahulu menggunakan getElementById ().


Anda juga harus memberi saran untuk menghapusnya == 1. Ini hanya berfungsi karena dua kesalahan. Sebenarnya nilainya trueatau false, ia hanya harus menggunakanif( remeber.checked )
jAndy

Saya selalu menerima pesan 'Anda tidak memeriksanya! Biarkan aku memeriksanya untukmu. '
Steaphann

16

Ini akan memungkinkan Anda untuk memeriksa apakah elemen dengan id='remember'is'checked'

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

3
isbukan milik objek elemen DOM
yves amsellem

10
.is()- adalah fungsi jQuery. .checkedadalah javascript.
maks kaplan

8

Jika Anda menggunakan formulir ini untuk aplikasi seluler maka Anda dapat menggunakan atribut html5 yang diperlukan. Anda tidak ingin menggunakan validasi skrip java untuk ini. Itu harus bekerja

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

5

gunakan seperti ini

<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
Saya selalu menerima pesan 'Anda tidak memeriksanya! Biarkan aku memeriksanya untukmu. '
Steaphann

@ user1251632 WFM juga. Bisakah Anda mengedit pertanyaan Anda dan menunjukkan apa yang Anda miliki sekarang? Mungkin Anda membuat kesalahan salin dan tempel.
Tn. Lister

document.getElementById ('ingat') .centang == 1 telah diubah oleh saya sebelum komentar Anda .. mungkin itu masalahnya.
hkutluay

4

Saya menggunakan ini dan ini bekerja untuk saya dengan Jquery :

Jquery:

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

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

Sangat sederhana, tetapi pekerjaan.

Salam!


3
    if (document.getElementById('remember').checked) {
        alert("checked");
    }
    else {
        alert("You didn't check it! Let me check it for you.");
    }

3

Gunakan kode sederhana di bawah ini: 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

remembertidak terdefinisi ... dan checkedproperti adalah boolean bukan angka.

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

Ini seharusnya bekerja

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

1

Anda dapat mencoba ini:

if ($(#remember).is(':checked')){
   alert('checked');
}else{
   alert('not checked')
}

0

Gunakan kode sederhana di bawah ini: 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

Coba ini

<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

Anda juga dapat menggunakan metode JQuery untuk mencapai ini:

<script type="text/javascript">
if ($('#remember')[0].checked) 
{
 alert("checked");
}
</script>
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.