我试图验证性别单选按钮。如果它们没有被选中,它就可以工作,但即使选择了一个,它仍然会说“未选择性别”..有没有人知道如何解决这个问题?
我有..
if (!genderMaleRadioButton.checked || !genderFemaleRadioButton.checked) {
errorMessage = errorMessage + "Gender not selected\n";
}
//displays error messages
if (errorMessage) {
alert(errorMessage);
}
//if all information is valid, submission is a success.
else if(!errorMessage) {
alert("Submission successful, thank you " + firstName.value);
}
答案 0 :(得分:2)
您说“如果未按下公按钮或未按下母按钮,则显示错误信息。”将第一行更改为
if(!genderMaleRadioButton.checked && !genderFemaleRadioButton.checked)
,
这使得它说“如果未按下公按钮且未按下母按钮,则显示错误信息。”
答案 1 :(得分:1)
您应该使用&&
if(!genderMaleRadioButton.checked && !genderFemaleRadioButton.checked)
{
errorMessage = errorMessage + "Gender not selected\n";
}
答案 2 :(得分:0)
您正在使用||
,这意味着“或”。当或者至少有一个布尔值不等于零时,“或”布尔运算符返回true
。
检查其中任何一个是否为 true 更为谨慎只是为了清晰代码(检查“not nots”在处理大量信息时可能会造成混淆。在您的情况下,它并不重要,但想象一个大型程序,它以一种方式编写,您首先看到异常,预期流程总是最后一次?)。