我正在尝试创建一个简单的验证表单,其中必须选中Checkbox或Select box值,否则会显示一条弹出消息。非常简单,但我搞砸了一些小东西,因为我无法让它发挥作用。
if ((strUser == 0) && (getElementById("somename").checked == false))
alertMsg += "\n- Donation Amount";
------------------------更新-----------------
在看到我的问题的一部分是在jsfiddle之后,我能够缩小它以使其工作使用它。我还更新了上面的链接以显示一个工作示例。
var strUser = +Donation.options[Donation.selectedIndex].value;
if ((strUser == 0) && (somename.checked == false)) alertMsg += "\n- Donation Amount";
答案 0 :(得分:2)
这个错误很可能在这里:
var strUser = e.options[e.selectedIndex].value;
此html元素的值是字符串,并且所有字符串(空字符串除外)都是真实的。
最简单的解决方法是将该值转换为数字,以便得到(假的)数字零,而不是字符串“0”
var strUser = +e.options[e.selectedIndex].value;
当然只是直接测试所选索引
var strUser = e.selectedIndex;