使用javascript收集多个不带表单标记的复选框值
我正在为MyBB开发一个插件,在那里我必须收集所有选中的“复选框”的值,每个复选框都有不同的名称/ID&不幸的是,这些复选框没有放在任何表单标签下,所以我怎么做??? 查看下面的代码如果我将表单标记放在第一行,此代码运行良好,但如果我将表单标记放在所有复选框下面,则不会返回任何内容(实际上,这正是我在MyBB中处理复选框的方式) 谢谢使用javascript收集多个不带表单标记的复选框值,javascript,html,checkbox,Javascript,Html,Checkbox,我正在为MyBB开发一个插件,在那里我必须收集所有选中的“复选框”的值,每个复选框都有不同的名称/ID&不幸的是,这些复选框没有放在任何表单标签下,所以我怎么做??? 查看下面的代码如果我将表单标记放在第一行,此代码运行良好,但如果我将表单标记放在所有复选框下面,则不会返回任何内容(实际上,这正是我在MyBB中处理复选框的方式) 谢谢 HTML CSS JavaScript php Python Net >>测试fiddle最简单的方法是按类型选择(使用jQuery)或向所有复选框添加一个类,然
HTML
CSS
JavaScript
php
Python
Net
>>测试fiddle最简单的方法是按类型选择(使用jQuery)或向所有复选框添加一个类,然后使用frm.getElementsByClassName(“”)代码>1)为什么要用隐藏JavaScript?2) 如果未使用表单标记,请在单击事件中删除此.form。
<input type="checkbox" name="chb1" value="html" />HTML<br/>
<input type="checkbox" name="chb2" value="css" />CSS<br/>
<input type="checkbox" name="chb3" value="javascript" />JavaScript<br/>
<input type="checkbox" name="chb4" value="php" />php<br/>
<input type="checkbox" name="chb5" value="python" />Python<br/>
<input type="checkbox" name="chb6" value="net" />Net<br/>
<form action="script.php" method="post">
<input type="button" value="Click" id="btntest" />
</form>
<script type="text/javascript"><!--
function getSelectedChbox(frm) {
var selchbox = [];
var inpfields = frm.getElementsByTagName('input');
var nr_inpfields = inpfields.length;
for(var i=0; i<nr_inpfields; i++) {
if(inpfields[i].type == 'checkbox' && inpfields[i].checked == true) selchbox.push(inpfields[i].value);
}
return selchbox;
}
document.getElementById('btntest').onclick = function(){
var selchb = getSelectedChbox(this.form);
alert(selchb);
}
//-->
</script>
function getCheckboxesValues(){
return [].slice.apply(document.querySelectorAll("input[type=checkbox]"))
.filter(function(c){ return c.checked; })
.map(function(c){ return c.value; });
}
document.getElementById("btntest").addEventListener("click", function(){
console.log(getCheckboxesValues());
});