验证 2 组或更多组单选按钮,每组包含 4 个单选按钮
Posted
技术标签:
【中文标题】验证 2 组或更多组单选按钮,每组包含 4 个单选按钮【英文标题】:Validation of 2 or more groups of radio buttons each containing 4 radios 【发布时间】:2021-08-30 00:49:21 【问题描述】:所以我不得不将这部分包含在我们的一个课堂项目中。我们被要求创建一个带有收音机和复选框的测验网页,然后编写一个 javascript 函数来验证收音机。现在,我知道这些无线电可以由每个组的个人循环轻松验证,但是当我的代码中有大量这些组时,这听起来并不实际。所以我尝试了以下代码:-
function quizRadioFilled()
var check = false;
var c = 0;
var x = 0;
var radiob = [];
radiob[0] = document.getElementsByName('q1');
radiob[1] = document.getElementsByName('q2');
radiob[2] = document.getElementsByName('q3');
radiob[3] = document.getElementsByName('q4');
radiob[4] = document.getElementsByName('q5');
radiob[5] = document.getElementsByName('q9');
radiob[6] = document.getElementsByName('q10');
for(var i = 0; i <= 6; i++)
for(var j = 1; j <= radiob[i].length; j++)
if(radiob[i].checked)
c = 1;
break;
if(c == 0)
check = false;
if(!check)
alert('Please attempt all the questions....');
我首先将每个组的名称存储在一个数组中。然后循环遍历以验证这些组中的每一个。如果组没有选择单选按钮,我想显示警报。但我没有得到所需的结果。虽然我现在已经完成了这个项目,但我仍然想让这个功能工作。请提供一些建议。
【问题讨论】:
请发布getElementsByName
调用返回的html。
drive.google.com/file/d/1PaI2F0FMKUatrc3V0AxkzSITB-CEQLDt/…。这是HTML文档的代码
【参考方案1】:
您从未在任何地方将 check
设置为 true,因此它始终为 false。
radiob[i]
是一个数组(或者,更准确地说,是一个 NodeList),所以 radiob[i].checked
始终是未定义的。
JavaScript 中的数组从 0 开始索引,这也适用于 NodeList。所以你的for (var j = 1; j <= radiob[i].length; j++)
循环不正确。
如果您解决了这些问题,那么您的功能应该可以正常工作。
【讨论】:
非常感谢朋友!它现在正在工作。有趣的是,像这样的小错误会扰乱你的工作??以上是关于验证 2 组或更多组单选按钮,每组包含 4 个单选按钮的主要内容,如果未能解决你的问题,请参考以下文章