Javascript 表单数据捕获不正确

Javascript 表单数据捕获不正确,javascript,html,Javascript,Html,我已经尝试了下面的演示,根据复选框的选择将复选框的值设置为0或1。下面的代码适用于一个复选框,但如果我创建多个复选框,则它不适用于新复选框。如何使其适用于所有复选框 HTML: 使用此代码: JavaScript: window.onload = function () { var input = document.querySelectorAll('input[type=checkbox]'); // alert(input); function check() {

我已经尝试了下面的演示,根据复选框的选择将复选框的值设置为0或1。下面的代码适用于一个复选框,但如果我创建多个复选框,则它不适用于新复选框。如何使其适用于所有复选框

HTML:

使用此代码:

JavaScript:

  window.onload = function () {
    var input = document.querySelectorAll('input[type=checkbox]');
   // alert(input);
    function check() {
        if (this.checked) {
            var a = "1";
        } else {
            var a = "0";
        }
        document.getElementById('result').innerHTML = 'result ' + a;
    }
    for(var i = 0; i <= input.length; i++){
        if(input[i]) input[i].onchange = check;
    }

    check();
}
HTML:


如果您想要纯JS,请尝试此选项:

window.onload = function () {
    var chks = document.querySelectorAll('input[type=checkbox]'); //<-- get all checkboxes
    var l = chks.length;
    while (l--) {
        chks[l].onchange = count;
    }
};

var count = function () {
    var chks = document.querySelectorAll('input[type=checkbox]'); //<-- get all checkboxes
    var l = chks.length,
        cnt = 0;
    while (l--) {
        if (chks[l].checked) {
            chks[l].value = '1';
            cnt++;
        } else {
            chks[l].value = '0';
        }
    }
    document.querySelector('#result').innerHTML = cnt;
};

JQuery是一个选项吗?这将使这项任务变得微不足道,我想…@anandbulkers,您是否允许/熟悉JQuery?当您选中event is fire,并选中check check,并且我在那里显示alert时,您可以根据需要在那里输入代码。谢谢上面的代码是我正在寻找的。我想为选中的复选框设置值。例如,如果选择checkbox1,则checkbox1的值应设置为1,否则为0。你能帮助重写代码来代替警报吗?把这一行放在警报文档上。querySelector'result'。innerHTML=1;其他部分是document.querySelector'result'。innerHTML=0表示每个条件,如果我帮助您,请向上投票。我已经按照您的指示添加了。但是这些值并没有被捕获到表单数据中。是否需要将innerHTML中的值指定给输入id。??你检查过我的小提琴了吗?
  window.onload = function () {
    var input = document.querySelectorAll('input[type=checkbox]');
   // alert(input);
    function check() {
        if (this.checked) {
            var a = "1";
        } else {
            var a = "0";
        }
        document.getElementById('result').innerHTML = 'result ' + a;
    }
    for(var i = 0; i <= input.length; i++){
        if(input[i]) input[i].onchange = check;
    }

    check();
}
<input type="checkbox" value="1" />Checkbox<br/>
<input type="checkbox" value="1" />Checkbox<br/>

<input type="checkbox" value="1" />Checkbox<br/>

<br/>
<span id="result"></span>
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<body>

<input type="checkbox" id="checkbox1"/>

<input type="checkbox" id="checkbox2"/>

<input type="checkbox" id="checkbox3"/>
</body>
</html>


<script type="text/javascript">

$('#checkbox1').change(function() 
{
        if($(this).is(":checked")) 
        {
            alert("checked-1");
        }
        else
        {
            alert("unchecked-1");    
        }
});

$('#checkbox2').change(function() 
{
        if($(this).is(":checked")) 
        {
            alert("checked-2");
        }
        else
        {
            alert("unchecked-2");    
        }
});

$('#checkbox3').change(function() 
{
        if($(this).is(":checked")) 
        {
            alert("checked-3");
        }
        else
        {
            alert("unchecked-3");    
        }
});
</script>
window.onload = function () {
    var chks = document.querySelectorAll('input[type=checkbox]'); //<-- get all checkboxes
    var l = chks.length;
    while (l--) {
        chks[l].onchange = count;
    }
};

var count = function () {
    var chks = document.querySelectorAll('input[type=checkbox]'); //<-- get all checkboxes
    var l = chks.length,
        cnt = 0;
    while (l--) {
        if (chks[l].checked) {
            chks[l].value = '1';
            cnt++;
        } else {
            chks[l].value = '0';
        }
    }
    document.querySelector('#result').innerHTML = cnt;
};