使用javascript收集多个不带表单标记的复选框值

使用javascript收集多个不带表单标记的复选框值,javascript,html,checkbox,Javascript,Html,Checkbox,我正在为MyBB开发一个插件,在那里我必须收集所有选中的“复选框”的值,每个复选框都有不同的名称/ID&不幸的是,这些复选框没有放在任何表单标签下,所以我怎么做??? 查看下面的代码如果我将表单标记放在第一行,此代码运行良好,但如果我将表单标记放在所有复选框下面,则不会返回任何内容(实际上,这正是我在MyBB中处理复选框的方式) 谢谢 HTML CSS JavaScript php Python Net >>测试fiddle最简单的方法是按类型选择(使用jQuery)或向所有复选框添加一个类,然

我正在为MyBB开发一个插件,在那里我必须收集所有选中的“复选框”的值,每个复选框都有不同的名称/ID&不幸的是,这些复选框没有放在任何表单标签下,所以我怎么做??? 查看下面的代码如果我将表单标记放在第一行,此代码运行良好,但如果我将表单标记放在所有复选框下面,则不会返回任何内容(实际上,这正是我在MyBB中处理复选框的方式) 谢谢

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());
});