我的JavaScript不检查我的表单';s收音机输入正确

我的JavaScript不检查我的表单';s收音机输入正确,javascript,html,radio-button,alert,Javascript,Html,Radio Button,Alert,所以我尝试编写javaScript来检查我的表单。我有六个无线电类型输入,其中一个需要检查。单选按钮分为两行,每组三个单选输入。一行的名称为“inschrijving1”,另一行的其他三个输入的名称均为“inschrijving2”。这是我用来检查表单的代码,但是使用这段代码,它总是返回false,并且总是发出警报 if(!document.getElementsByName("inschrijving1").checked || !document.getElementsByName("ins

所以我尝试编写javaScript来检查我的表单。我有六个无线电类型输入,其中一个需要检查。单选按钮分为两行,每组三个单选输入。一行的名称为“inschrijving1”,另一行的其他三个输入的名称均为“inschrijving2”。这是我用来检查表单的代码,但是使用这段代码,它总是返回false,并且总是发出警报

if(!document.getElementsByName("inschrijving1").checked || !document.getElementsByName("inschrijving2").checked)
{
     alert("Selecteer een dagdeel voor de inschrijving");
     return false;
}

有人知道这是为什么吗?我只需要它返回false,并在六个无线电输入都未检查时发出警报。

因为
getElementsByName()
返回元素的集合/节点列表,该集合/节点列表没有选中的集合
属性。为此,您需要显式地迭代返回的每个元素,并分别检查它们

假设每个
名称中只有一个元素:

if(!document.getElementsByName("inschrijving1")[0].checked || !document.getElementsByName("inschrijving2")[0].checked)
或者,在兼容浏览器中,每种浏览器都有多个:

if(!document.querySelector("name=['inschrijving1']:checked") || !document.getElementsByName("name=['inschrijving2']:checked"))
document.querySelector()
仅返回满足所提供选择器的第一个匹配元素(使用CSS选择器语法)

参考资料:


我怀疑,
getElementsByName
返回一个数组,因为它是复数。谢谢!我明白我做错了什么。但是现在整个表单检查脚本不再工作了(因为这只是我所做的所有检查中的一部分)。。整个表单都在检查中,甚至所有内容都没有检查。好吧,鉴于缺乏任何其他信息,我不确定你希望我如何帮助你。很抱歉,我不太愿意对此发表评论。我现在就试着自己解决,谢谢你迄今为止的帮助!:)如果您提供更多的代码,我很乐意提供帮助(问题不是您不“好”(您非常有礼貌),只是除非我能看到更多正在发生的事情,否则我无法提供帮助),但我认为这个问题可能值得单独提一个问题(因为问题的这一特定方面似乎已经得到了充分的解决). :)