Javascript 使用if操作符&&|在同样的条件下

Javascript 使用if操作符&&|在同样的条件下,javascript,if-statement,input,operators,conditional-statements,Javascript,If Statement,Input,Operators,Conditional Statements,我有这张表格 <form class="form" method="post"> <input type="text" id="input_what" holder="what" /> <input type="text" id="input_where" holder="where" /> <input type="submit" value="submit" /> </form> 我知道我的情况不起作用,但我需要它像这样起作用

我有这张表格

<form class="form" method="post">
<input type="text" id="input_what" holder="what" />
<input type="text" id="input_where" holder="where" />
<input type="submit" value="submit" />
</form>
我知道我的情况不起作用,但我需要它像这样起作用

 IF (what == "what" OR what == "") AND (where == "where" OR where == "")
看看这把小提琴,了解原因

我使用的占位符脚本需要我不提交上述案例的表单 使用
placeholder=“attribute”
对我来说不是解决方案,所以有人能给我一个如何设置这个if条件的提示吗?

试试这个

if ( (what == "what" || what =="")  &&  (where == "where" || where == ""))

使用括号就像您在文本描述中所做的那样:

if (( what == "what" || what =="")  &&  (where == "where" || where == "")) {

旁注:您可能对将来的版本感兴趣,因为IE9-不支持它,而IE9-将使这一点变得更简单。

我相信您需要一些括号才能得到您想要的:

IF ((what == "what" ||what == "") &&(where == "where" ||where == ""))
if ( (what == "what" || what =="")  &&  (where == "where" || where == ""))
这意味着

(what == "what" || what =="") 

必须返回true才能执行if语句中的代码。这实际上与您的文本示例非常接近

--

只是为了了解这一切。您的旧代码将如下所示,并带有括号:

if ( (what == "what") || (what ==""  &&  where == "where") || (where == "")) {

同样,其中只有一个必须返回true。

使用paren。
&&
运算符的优先级高于
|
运算符

if ((what == "what" || what =="") && (where == "where" || where == ""))

我不明白你为什么不在代码中使用parens。如果你被VB的编码风格搞砸了:哇,这是我在30秒内意识到的最正确的答案。谢谢,我不知道simpleyeah的工作原理,我讨厌占位符属性,因为我不喜欢文本不隐藏在焦点上,每个浏览器都有自己的呈现方式,这就是为什么我制作了这个小占位符脚本,它甚至在IE 6:D中也有我想要的外观和感觉。。。感谢您的信息链接,为什么不使用占位符多边形填充?外面有这么多人,我无法想象为什么有人会自己动手。我通常用这个:
if ( (what == "what") || (what ==""  &&  where == "where") || (where == "")) {
if ((what == "what" || what =="") && (where == "where" || where == ""))