1

我正在尝试创建一个简单的验证表单,其中必须选择复选框或选择框值,否则会显示弹出消息。很简单,但我搞砸了一些小东西,因为我无法让它工作。

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";
4

1 回答 1

2

该错误很可能在这里:

var strUser = e.options[e.selectedIndex].value;

这个 html 元素的值是一个字符串,除了空字符串之外的所有字符串都是真值。

最简单的解决方法是将该值转换为数字,以便您获得(假)数字零,而不是字符串“0”

var strUser = +e.options[e.selectedIndex].value;

或者当然只是直接测试选定的索引

var strUser = e.selectedIndex;
于 2013-06-03T19:53:07.353 回答