2012-07-12 41 views
2

AND AND & &运算符不起作用,但是当我用OR || ||替换它时,它正在运作,为什么?我只是使用OR ||运营商进行测试,我需要的是一个运营商& &。 请帮忙。感谢javascript如果条件&&条件不起作用

function validate() { 
    if ((document.form.option.value == 1) && (document.form.des.value == '')) { 
     alert("Please complete the form!"); 
     return false 
    } else return true; 
} 

我也试着嵌套,但如果它不工作太

if(document.form.option.value==1) 
    { 
     if(document.form.des.value=='') 
     { 
      alert ("Please complete the form!"); 
      return false 

     } 
    } 
+1

检查javascript错误 – 2012-07-12 06:46:38

+0

因此它必须是逻辑错误 – PoeHaH 2012-07-12 06:48:54

+0

要确保用户完成表单,请尝试使用html5表单验证。 – starbeamrainbowlabs 2012-07-12 06:49:45

回答

2

这听起来像||是你在找什么在这里。 &&运算符只有在&&的左侧和右侧均为真时才为真。在这种情况下,如果值为1或空,您似乎想要显示消息。这正是||运营商的用途。如果左侧或右侧为真

+0

即时测试左右两个都必须是真的。我需要&& – 2012-07-12 07:25:57

2

如果或运算符正在工作,则表示在条件的第二部分中存在一些javascript错误。检查document.form.des.value ==''(也许只是在Chrome/Firefox/IE8 +中打开你的javascript控制台)

0

它是因为上面指定的条件之一返回假和循环中断。你使用OR,只有一个必须验证并返回true ..检查你的代码的两个条件。

+0

使用[link]:http://validator.w3.org/来验证您的代码。 – 2012-07-12 06:55:03