Javascript 比较2个输入无线电值

Javascript 比较2个输入无线电值,javascript,Javascript,我只是想检查用户是否选择了性别,如果没有,则应显示警报/代码执行,因此,在我的HTML中,我正在执行以下操作: <label>Anrede:</label> <input type="radio" id="sexMale" name="gender" value="Herr"> <label for="sexMale">Herr</label> <input type="radio" id="sexFemale" name="ge

我只是想检查用户是否选择了性别,如果没有,则应显示警报/代码执行,因此,在我的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>
我很困惑,因为如果没有检查任何输入字段,则两个输入字段都返回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等)-似乎都不起作用

只需要一点提示,谢谢

试试
$('input[name=“gender”]:checked')。长度==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;
var radios=document.getElementsByName(“性别”);
var formValid=false;
var i=0;
而(!formValid&&i

你的期望输出应该是什么?一个带有所选变量的值
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;