javascript - 如何使用 javascript 验证是否选择了 1 个单选按钮
问题描述
我是一个菜鸟,不知道如何为我的表单修复损坏的 javascript 验证。我相信问题出在我的选择器上(由 Not Working Comment 标识),但对 javascript 的了解不足以知道如何修复它。我正在尝试使用几种不同类型的输入制作一个表单,并验证每一个。我的语法适用于常规文本输入和下拉菜单,但不适用于收音机。简单的答案(我能理解)优于复杂的答案(我不能)。
我在这里看了很多这个问题,不想单独验证每个单选按钮,即如果选择 = 1 .. 如果选择 = 2 .. 如果选择 = 99,只有 1 个按钮已经选择。我不确定这是否需要一个 for 循环,或者是否有一种方法类似于我现有的适用于其他输入的代码。
document.querySelector('form').onsubmit = function() {
if (!document.querySelector('select[name=country]').value) {
alert('You must choose a country');
return false;
}
// <!--NOT WORKING PART-->
else if (!document.querySelector('custom-control-input[type=radio]:checked').value) {
alert('You must select a gender');
return false;
}
return true;
};
<div class="form-group">
<select name="country">
<option disabled selected value="">Country</option>
<option value="Canada">Canada</option>
</option>
<option value="USA">USA</option>
</option>
</select>
</div>
<div class="custom-control custom-radio">
<input type="radio" name="customRadio" id="customRadio1" class="custom-control-input">
<label class="custom-control-label" for="customRadio1">Male</label>
</div>
<div class="custom-control custom-radio">
<input type="radio" name="customRadio" id="customRadio1" class="custom-control-input">
<label class="custom-control-label" for="customRadio1">Female</label>
</div>
解决方案
您在查询选择器中的参数是错误的。
这对我有用:
else if (!document.querySelector('[type=radio]').checked) {
alert('You must select a gender');
return false;
}
推荐阅读
- php - 教义——三表关系
- html - 如何在不使用固定的情况下将页脚粘贴到页面底部
- c# - 无法使用 C# 从 .net 控制台应用程序连接 mongoDB atlas API
- flutter - 当它们由 StreamBuilder 构建时,如何将 IconButton onPressed 事件与 TextField 链接
- django - 将 pk 表单 URL 分配给模型的相关字段
- xml - XSLT 转换后的非法字符问题
- r - 将置信区间文本添加到 ggplot 的优雅方式,类似于 ggpubr
- python - 是否有一个 python 函数可以不加选择地删除文件和目录?
- python - 如何计算满足多个条件的数据框中的行?
- python - 来自树莓派的 ImportError