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