我只是想检查用户是否选择了性别,如果没有,则应显示提醒/代码执行,因此,在我的HTML中我会这样做:
<label>Anrede:</label>
<input type="radio" id="sexMale" name="gender" value="Herr">
<label for="sexMale">Herr</label>
<input type="radio" id="sexFemale" name="gender" value="Frau">
<label for="sexFemale">Frau</label>
在我的JS中:
var sexM = document.getElementById("sexMale").value;
var sexF = document.getElementById("sexFemale").value;
...
我很困惑,因为如果没有选中任何输入字段,则返回false。 如果检查了一个,它会吐出正确的选择字段,
但是当我只是想像这样比较它们时,没有任何反应:
if(sexM === false && sexF === false){
// Some Action here e.g:
document.getElementById('').innerHTML = "Please choose a gender";
}
由于这是一个包含20多个输入字段的表单(表单来声明产品),我不能使用以下内容:
input[type="radio"]:checked
我知道它必定是某种类型/比较问题。我已经尝试了所有选项来比较这两个值(例如=== false,!== true等) - 似乎没有效果。
只需要一点提示,谢谢
答案 0 :(得分:0)
尝试$('input[name="gender"]:checked').length==0
。
答案 1 :(得分:0)
我认为您正在寻找验证单选按钮。所以你可以试试这个
var radios = document.getElementsByName("gender");
var formValid = false;
var i = 0;
while (!formValid && i < radios.length) {
if (radios[i].checked) {
formValid = true;
console.log(radios[i].value);
}
i++;
}
if (!formValid) document.getElementById('error').innerHTML = "Please choose a gender";
return formValid;