如何在Javascript中获取仅选中复选框的值?

如何在Javascript中获取仅选中复选框的值?,javascript,reactjs,forms,checkbox,Javascript,Reactjs,Forms,Checkbox,这是我在这里的第一篇文章。 我的表格有问题。我希望能够只获取表单上选中的框的值,并将它们添加到其中一个输入中。 问题是我要么得到所有的复选框(选中或不选中),要么没有定义。 复选框是这样的 <input type="checkbox" className="checkbox" value="Triatholons" /> Triathlon Training Plans </label> ``` //an

这是我在这里的第一篇文章。 我的表格有问题。我希望能够只获取表单上选中的框的值,并将它们添加到其中一个输入中。 问题是我要么得到所有的复选框(选中或不选中),要么没有定义。 复选框是这样的

<input type="checkbox" className="checkbox" value="Triatholons" />
              Triathlon Training Plans
            </label>
    ```
    //and the function I have been trying is this 
    function itworked() {
  alert("Sky will contact you shortly!")
  var values = document.getElementsByClassName("checkbox:checked")
  console.log(values)
  }

铁人三项训练计划
```
//我一直在尝试的功能是
函数itworked(){
警报(“天空广播公司将很快与您联系!”)
var values=document.getElementsByClassName(“复选框:选中”)
console.log(值)
}
这是返回一个HTML集合,当我尝试提取值时,我只得到未定义的值。 我错过了什么?谢谢你的帮助

首先,不要使用类:

将其用于:

现在,您将看到我们有一个节点列表。如果您只想得到其中的值,我们必须将元素“映射”到它们的值。最简单的方法是,使用


就这些!您将看到它返回一个值数组。

getElementsByClassName
替换为
querySelectorAll
,因为这将支持
:checked
后缀。你需要在类名之前使用
。如果你不使用[reactjs]标记,为什么会有它?显然你知道你在做什么。这正是我想要的,但是如果你不介意的话,我还有一个问题。如何查看函数返回的内容?当我使用console.log(values)时,它会给我一个空数组。@imstupidpleasehelp Hmmm,它对我来说工作得很好。你什么时候运行这个代码?您需要在页面加载后,以及在有人选中其中一个框后运行它。我将在表单提交数据成功时运行它。这是完整的代码@imStupIdLeaseHelp这是表单的一部分吗?应该考虑使用FrasDATA。
[type="checkbox"]:checked
document.querySelectorAll('[type="checkbox"]:checked')
const values = [
  ...document.querySelectorAll('[type="checkbox"]:checked')
].map(el => el.value);