Làm thế nào tôi có thể kiểm tra nếu một hộp kiểm tra được kiểm tra?


187

Tôi đang xây dựng một ứng dụng web di động với jQuery Mobile và tôi muốn kiểm tra xem hộp kiểm có được chọn không. Đây là mã của tôi.

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

Nhưng vì lý do này hay lý do khác, nó không thực hiện nó.

Xin vui lòng giúp đỡ !

---- CHỈNH SỬA ----- Đây là những gì tôi có trong lúc này.

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

----BIÊN TẬP--

Đã giải quyết nó, vấn đề là người điều khiển trường cũng được đặt tên là 'nhớ'


1
Có gì remembertrong bối cảnh này: if (remember.checked == 1){???
PeeHaa

Sau này nên nhớ email và mật khẩu. Đó là cho một trang đăng nhập
Steaphann

Những gì tôi đang cố gắng nói rememberundefinedtrong bối cảnh đó. Hãy thử console.log(remember);.
PeeHaa

Phiên bản HTML nào bạn đang sử dụng? Nó không thực sự là XHTML, phải không?
Ông Lister

Câu trả lời:


272

checkedbooleantài sản để bạn có thể trực tiếp sử dụng nó trong IFđiều kiện: -

 <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
Tôi luôn nhận được thông báo 'Bạn đã không kiểm tra nó! Hãy để tôi kiểm tra nó cho bạn. '
Steaphann

Không, nó làm việc tốt cho tôi; tôi nhận được cả hai tin nhắn cảnh báo.
Pranav

@Steaphann Bạn có thay thế từ 'nhớ' bằng id hộp kiểm của mình không? ... oh, chỉ cần chú ý 2012 0.o ... ps bạn đã quên dấu chấm phẩy sau tuyên bố cảnh báo thứ 2
josh.thomson

.. Điều gì sẽ xảy ra nếu tôi không muốn kiểm tra nó cho tôi và tôi chỉ muốn xem liệu nó có được kiểm tra hay không?
Mark Kramer

@ josh.thomson semi-colons là tùy chọn.
kojow7

61

Thử cái này:

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

Kịch bản của bạn không biết biến rememberlà gì. Bạn cần lấy phần tử trước bằng cách sử dụng getEuityById ().


Bạn cũng nên tư vấn để tước nó == 1. Nó chỉ hoạt động vì hai lỗi. Trên thực tế, giá trị là truehoặc false, anh ta chỉ nên sử dụngif( remeber.checked )
jAndy

Tôi luôn nhận được thông báo 'Bạn đã không kiểm tra nó! Hãy để tôi kiểm tra nó cho bạn. '
Steaphann

16

Điều này sẽ cho phép bạn kiểm tra xem phần tử với id='remember''checked'

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

3
iskhông thuộc về đối tượng phần tử DOM
yves amsellem 19/07/2015

10
.is()- là một hàm jQuery. .checkedlà javascript.
tối đa kaplan

8

Nếu bạn đang sử dụng biểu mẫu này cho ứng dụng di động thì bạn có thể sử dụng thuộc tính bắt buộc html5. bạn không muốn sử dụng bất kỳ xác thực tập lệnh java nào cho việc này. Nó nên hoạt động

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

5

sử dụng như thế này

<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
Tôi luôn nhận được thông báo 'Bạn đã không kiểm tra nó! Hãy để tôi kiểm tra nó cho bạn. '
Steaphann

@ user1251632 WFM cũng vậy. Bạn có thể chỉnh sửa câu hỏi của bạn và hiển thị những gì bạn có bây giờ? Có lẽ bạn đã tạo một bản sao và dán lỗi.
Ông Lister

document.getEuityById ('nhớ'). đã kiểm tra == 1 đã được tôi thay đổi vì nhận xét của bạn .. nó có thể là vấn đề.
hkutluay

4

Tôi đang sử dụng cái này và nó hoạt động với tôi với Jquery :

Câu hỏi:

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

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

Rất đơn giản, nhưng công việc.

Trân trọng!


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


2

rememberkhông xác định được và checkedtài sản là một boolean không phải là một số.

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

Điều này sẽ làm việc

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

1

Bạn có thể thử điều này:

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

0

Sử dụng mã đơn giản dưới đây: 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

Thử cái này

<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

Bạn cũng có thể sử dụng các phương thức JQuery để thực hiện điều này:

<script type="text/javascript">
if ($('#remember')[0].checked) 
{
 alert("checked");
}
</script>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.