Подтвердить что ты не робот

Как определить, установлен ли флажок?

По какой-то причине моя форма не хочет получать значение флажка... Я не уверен, что это моя кодировка или нет, но когда я пытаюсь и alert() значение, я получаю undefined в результате. Что у меня не так?

<head>
  <script>
    var lfckv = document.getElementById("lifecheck").checked
    function exefunction(){
      alert(lfckv);
    }
  </script>
</head>
<body>
  <label><input id="lifecheck" type="checkbox" >Lives</label>
</body>

ИЗМЕНИТЬ

Я попытался изменить его на

function exefunction() {
    alert(document.getElementById("lifecheck").checked);
}

Но теперь он даже не хочет execute. Что не так?

4b9b3361

Ответ 1

Поместите var lfckv внутри функции. Когда эта строка выполняется, тело еще не разбирается, а элемент "lifecheck" не существует. Это прекрасно работает:

<html>
    <head>
        <script language="javascript" type="text/javascript">
            function exefunction(){
                var lfckv = document.getElementById("lifecheck").checked;
                alert(lfckv);
            }
        </script>
    </head>
    <body>
        <label><input id="lifecheck" type="checkbox" >Lives</label>
        <button onclick="exefunction()">Check value</button>
    </body>
</html>

Ответ 2

Вы пытаетесь прочитать значение своего флажка перед его загрузкой. script работает до того, как установлен флажок. Вы должны называть ваш script при загрузке страницы:

<body onload="dosomething()">

Пример:

http://jsfiddle.net/jtbowden/6dx6A/

Вам также не хватает полуколонии после вашего первого задания.

Ответ 3

Строка, в которой вы определяете lfckv, запускается всякий раз, когда браузер находит ее. Когда вы помещаете его в начало документа, браузер пытается найти идентификатор lifecheck до создания элемента lifecheck. Вы должны добавить script под вкладку lifecheck, чтобы ваш код работал.

Ответ 4

попробуйте учиться jQuery Это отличное место для начала работы с javascript, и это действительно упрощает ваш код и помогает отделить ваши js от вашего html. включить js файл из Google CDN (https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js)

то в тэге script (все еще в <head>) используйте:

$(function() {//code inside this function will run when the document is ready
    alert($('#lifecheck').is(':checked'));

    $('#lifecheck').change(function() {//do something when the user clicks the box
        alert(this.checked);
    });
});

Ответ 5

вы можете использовать этот код, он может вернуть true или false:

$(document).ready(fonction(){
  
  //add selector of your checkbox

  var status=$('#IdSelector')[0].checked;
  
  console.lot(status);

});

Ответ 6

<!doctype html>
<html lang="en">
<head>
</head>
<body>
<label><input class="lifecheck" id="lifecheck" type="checkbox" checked >Lives</label>

<script type="application/javascript" >
    lfckv = document.getElementsByClassName("lifecheck");
    if (true === lfckv[0].checked) {
      alert('the checkbox is checked');
    }
</script>
</body>
</html>

Ответ 7

<!DOCTYPE html>
<html>
<body>
    <input type="checkbox" id="isSelected"/>
    <div id="myDiv" style="display:none">Is Checked</div>
</body>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script>
        $('#isSelected').click(function() {
            $("#myDiv").toggle(this.checked);
        });
    </script>
</html>

Ответ 8

var elementCheckBox = document.getElementById("IdOfCheckBox");


elementCheckBox[0].checked //return true if checked and false if not checked