Bir onay kutusunun işaretli olup olmadığını nasıl kontrol edebilirim?


187

JQuery Mobile ile bir mobil web uygulaması oluşturuyorum ve bir onay kutusunun işaretli olup olmadığını kontrol etmek istiyorum. İşte kodum.

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

Ama bir sebepten ötürü onu yürütmüyor.

Lütfen yardım et !

---- DÜZENLE ----- Şu an sahip olduğum şey bu.

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

----DÜZENLE--

Çözüldü, sorun alanın içeriğinin de 'hatırla' olarak adlandırılmış olmasıydı


1
rememberBu bağlamda neler var : if (remember.checked == 1){???
PeeHaa

Daha sonra e-posta ve şifreyi hatırlamalıdır. Bir giriş sayfası için
Steaphann

Söylemeye çalıştığım rememberşey undefinedbu bağlamda. Deneyin console.log(remember);.
Ocak

Hangi HTML sürümünü kullanıyorsunuz? Gerçekten XHTML değil, değil mi?
Bay Lister

Yanıtlar:


272

checkedolduğu booleandoğrudan kullanmak, böylece mülkiyet IFdurumu: -

 <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
Her zaman 'Kontrol etmedin! Senin için kontrol etmeme izin ver.'
Steaphann

Hayır benim için iyi çalışıyor; ikisini de uyarı mesajları alıyorum.
Pranav

@Steaphann 'Hatırla' kelimesini onay kutusu kimliğinizle değiştirdiniz mi? ... oh, sadece fark ettim 2012 0.o ... ps 2. uyarı ifadesinden sonra
noktalı

Benim için kontrol etmesini istemiyorsam ve sadece kontrol edilip edilmediğini görmek istiyorum?
Mark Kramer

@ josh.thomson noktalı virgül isteğe bağlıdır.
kojow7

61

Bunu dene:

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

Komut dosyanız değişkenin ne olduğunu bilmiyor remember. Önce getElementById () öğesini kullanarak öğeyi almanız gerekir.


Bunu soymak için de tavsiyede bulunmalısınız == 1. Onun sadece iki hata nedeniyle çalışıyor. Aslında değer trueya da false, sadece kullanması gerekirif( remeber.checked )
jAndy

Her zaman 'Kontrol etmedin! Senin için kontrol etmeme izin ver.'
Steaphann

16

Eleman ile bu denetlemek izin vermelidir id='remember'olduğunu'checked'

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

3
isDOM öğesi nesnesine ait değil
yves amsellem

10
.is()- bir jQuery işlevidir. .checkedjavascripttir.
max kaplan

8

Bu formu mobil uygulama için kullanıyorsanız, gerekli html5 özelliğini kullanabilirsiniz. bunun için herhangi bir java komut dosyası doğrulaması kullanmak istemezsiniz. İşe yaramalı

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

5

böyle kullan

<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
Her zaman 'Kontrol etmedin! Senin için kontrol etmeme izin ver.'
Steaphann

@ user1251632 WFM de. Sorunuzu düzenleyebilir ve şu anda sahip olduklarınızı gösterebilir misiniz? Belki bir kopyalama ve yapıştırma hatası yaptınız.
Bay Lister

document.getElementById ('unutmayın'). işaretli == 1 yorumunuzdan önce benim tarafımdan değiştirildi .. sorun olabilir.
hkutluay

4

Bunu kullanıyorum ve Jquery ile benim için çalışıyor :

jQuery:

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

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

Çok basit, ama işin.

Saygılarımızla!


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

3

Aşağıdaki basit kodu kullanın: 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

rememberundefined… ve checkedözellik bir boolean değil sayıdır.

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

Bu çalışmalı

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

1

Bunu deneyebilirsiniz:

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

0

Aşağıdaki basit kodu kullanın: 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

Bunu dene

<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

Bunu yapmak için JQuery yöntemlerini de kullanabilirsiniz:

<script type="text/javascript">
if ($('#remember')[0].checked) 
{
 alert("checked");
}
</script>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.