如果条件检查两个文本字段值

时间:2011-06-27 13:35:23

标签: javascript

if(a.value === undefined || a.value.length>37 || 
        b.value === undefined || b.value.length > 256) {

如果第一个未定义或大于37的长度。我得到一个错误,但它根本不检查第二个字段。

3 个答案:

答案 0 :(得分:1)

使用括号。它从左到右进行检查,一旦遇到故障就停止,就像你设置它一样。 试试

if((a.value === undefined || a.value.length>37) || 
(b.value === undefined || b.value.length > 256)) {

答案 1 :(得分:1)

条件评估是懒惰的,即一旦确定结果就会停止。也就是说,如果if (A && B)为false,B评估A,因为连接必须已经为假,同样if (A || B)将如果B为真,则评估A,因为分离已经为真。

答案 2 :(得分:0)

你忘记了逻辑中的OR意味着什么。它只会检查,直到找到一个真实的陈述。

尝试重新组合:

((a.value === undefined || a.value.length>37)
                   ||
 (b.value === undefined || b.value.length > 256))

只是提升一点条件,并带来更广泛的结果,而不是追逐第一个真正的反应。