Javascript 如何检查是否选中表单中的一个或多个复选框(仅当显示div时)
我需要帮助在提交时验证表单。它应该检查是否选中了一个或多个复选框,否则将显示错误消息。我目前已经让它工作,但问题是复选框选项显示后,选择单选按钮的形式 我现在的代码仍然显示错误消息,即使没有显示Javascript 如何检查是否选中表单中的一个或多个复选框(仅当显示div时),javascript,html,forms,checkbox,Javascript,Html,Forms,Checkbox,我需要帮助在提交时验证表单。它应该检查是否选中了一个或多个复选框,否则将显示错误消息。我目前已经让它工作,但问题是复选框选项显示后,选择单选按钮的形式 我现在的代码仍然显示错误消息,即使没有显示div,这是一个大问题,因为用户没有看到复选框选项 我希望复选框错误消息仅在用户选择单选按钮“否”时显示,因此需要选中复选框。如果他们选择单选按钮“是”,并且未显示此复选框div,则我不希望在提交时显示错误消息 函数隐藏(){ document.getElementById('hidden').styl
div
,这是一个大问题,因为用户没有看到复选框选项
我希望复选框错误消息仅在用户选择单选按钮“否”时显示,因此需要选中复选框。如果他们选择单选按钮“是”,并且未显示此复选框div
,则我不希望在提交时显示错误消息
函数隐藏(){
document.getElementById('hidden').style.display='none';
}
函数show(){
document.getElementById('hidden').style.display='block';
}
函数validateForm(){
var检查=假;
var elements=document.getElementsByName(“勾号”);
对于(var i=0;i
本课程在我的工作计划和学习协议中确定
是
否
我参加本次会议是因为(勾选所有适用项)
这将有助于我发展当前角色所需的技能和知识
它将帮助我发展未来可能担任的角色/工作的技能和知识
在我的绩效管理讨论中,这被确定为一种需要
我的经理建议我参加
我对内容感兴趣
由于您的出席,您希望实现什么目标?例如,“我想学习写更好的电子邮件来提高我的沟通技巧。”
提交
尝试(选择下面的“否”)
函数验证表单(e){
让inp=[…document.getElementsByName(“勾选”)];
如果(!inp.some(i=>i.checked)和&chk.checked){
e、 预防默认值();
提醒('您必须选择参加的原因!');
}
}
//显示隐藏文本
函数hide(){
document.getElementById('hidden').style.display='none';
}
函数show(){
document.getElementById('hidden').style.display='block';
}
本课程在我的工作计划和学习协议中确定
是
否
我参加本次会议是因为(勾选所有适用项)
这将有助于我发展当前角色所需的技能和知识
它将帮助我发展未来可能担任的角色/工作的技能和知识
在我的绩效管理讨论中,这被确定为一种需要
我的经理建议我参加
我对内容感兴趣
由于您的出席,您希望实现什么目标?例如,“我想学习写更好的电子邮件来提高我的沟通技巧。”
提交
这是老办法。只需检查div的display属性,并在该属性中仅将您的标志设置为false
function validateForm() {
var checked;
if(document.getElementById("hidden").style.display == "block") {
checked = false;
var elements = document.getElementsByName("tick");
for (var i=0; i < elements.length; i++) {
if (elements[i].checked) {
checked = true;
}
}
}
if (checked===false) {
alert('You must select why you are attending!');
}
return checked;
}
函数validateForm(){
var检查;
if(document.getElementById(“隐藏”).style.display==“块”){
选中=错误;
var elements=document.getElementsByName(“勾号”);
对于(var i=0;i
使用required意味着用户必须选中每个复选框。我想检查一个或多个。感谢您,解释您的代码是如何工作的以及OP为什么不工作会很有用。我们使用eventpreventDefault
在表单无效时不允许发送表单。我们还使用arraysome
检查是否选中了某些复选框。我们还使用spread syntax
将getElementsByName节点列表转换为数组。div显示问题如何?感谢您的代码,但我需要的帮助是仅在选择单选按钮“否”时显示错误消息(从而显示复选框),否则,div将保持隐藏,如果未选中复选框,则不会出现错误消息。如果我将输入类型设置为复选框,则在div id“hidden”中,我刚刚解决了我的问题,这是否有帮助?谢谢你
function validateForm() {
var checked;
if(document.getElementById("hidden").style.display == "block") {
checked = false;
var elements = document.getElementsByName("tick");
for (var i=0; i < elements.length; i++) {
if (elements[i].checked) {
checked = true;
}
}
}
if (checked===false) {
alert('You must select why you are attending!');
}
return checked;
}