0

나는 형태로 내 상태가 작동하지 않는 것을 알고연산자를 사용하면 && || 동일한 조건에서

$('.form').submit(function(e) { 
var what = $('#input_what').val(); 
var where = $('#input_where').val() 
if (what == "what" || what =="" && where == "where" || where == "") { 
    e.preventDefault(); 
    console.log('prevented empty search'); 
    return false; 
}  
}); 

에게 제출 방지하기 위해이 양식

<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 == "") 

http://jsfiddle.net/pK35e/

012을 이해하기 위해이 바이올린를 보라

자리 표시 자 스크립트를 사용하고 있는데 위의 경우 양식을 제출하지 않아도됩니다. placeholder="attribute"을 사용하면 아무런 해결책이 없으므로 아무도이 if-condition을 설정하는 데 도움이 될 수 있습니까?

+1

코드에서 괄호를 사용하지 않는 이유를 나는 이해하지 못했다. – entonio

+0

VB 코딩 스타일에 버릇이있다면. :) – codingbiz

답변

2

이이

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

고마워요. –

4

그냥 당신이 만든 텍스트 설명처럼 괄호를 사용보십시오 :

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

사이드 발언 :이 IE9-에 의해 지원되지 않는 것처럼 미래 버전, 관심이있을 수도 있습니다, placeholder attribute에 의해 더 간단해질 것입니다.

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

이 모두

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

(where == "where" || where == "") 

반환한다는 것을 의미한다 :

+0

와우가 30 초 만에 가장 정확한 답을 얻었습니다.덕분에 그게 뭔지 모르겠다. 간단하다. –

+1

네가 placeholder 속성이 싫다. 왜냐하면 텍스트가 포커스에 숨겨져 있지 않고 모든 브라우저에 렌더링 방법이 있기 때문이다. 이것이 내가 만든 이유이다. 작은 자리 표시 자 스크립트가 내 원하는 모양과 느낌도 IE 6에서 : D 조 ... 어쨌든 귀하의 유익한 링크도 –

+0

당신은 placeholder polyfill을 사용하지 않는 이유는 무엇입니까? 거기 밖으로 이렇게 많은 것이, 나는 왜 누군가가 그들의 자신을 구르는 지 상상할 수 없다. 나는 보통 이것을 사용합니다 : https://github.com/ginader/HTML5-placeholder-polyfill – Steve

2
IF ((what == "what" ||what == "") &&(where == "where" ||where == "")) 
+0

고마워요. –

2

나는 당신이 당신이 원하는 것을 얻기 위해 일부 괄호가 필요합니다 생각 if 문 내에서 코드를 순서대로 참 실행될 t. 실제로 텍스트 예제와 매우 비슷합니다.

- 그냥이 모든의 이해

. 이전 코드는 괄호과 같을 것이다 : 다시,이 중 하나는 것

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

는 true를 반환 할 수 있습니다.

+1

고마워 tooo –