2012-03-16 6 views
0

양식 유효성을 검사하려고합니다. 아래는 jquery입니다. 제출 버튼을 클릭하면 양식에 <span class="error">이있는 경우 경고를하지 않으면 실패 할 것입니다. 문제는 <span class="error">이든 아니든 'Faild'에 경고하는 것입니다. 당신은 jQuery를의 길이가 제로인지 아닌지 반환 여부를 확인해야 jsfiddle양식 유효성 검사가 작동하지 않습니다.

$(".submitBtn").click(function() { 
      if($("form").find('.error')) { 
       alert('Faild'); 
      } else { 
       alert('Success'); 
      //return true;  
      } 
}); 
$("form").submit(function(e) {  
     e.preventDefault(); 
     }); 

<form id=="subscribeForm" method="post" action=""> 
        <input type="text" name="name" class="f-comp t1 name" /> 
        <input type="text" name="age" class="f-comp t2 age" /> 
        <input type="text" name="email" class="f-comp t3 email" /> 
        <textarea name="detail" class="f-comp words"></textarea> 
        <input type="submit" value="Submit" class="submitBtn" /> 
    <span class="error"></span> 
       </form>​ 

답변

1

부울 연산을 수행하지 않습니다.

이 시도 : 대신 당신이 수익을 얻을 수 있는지의 여부는 클래스 '오류'과 일치하는 항목의 수를 확인하고

if($("form").find('.error').length > 0) 

공지 사항.

3

에보고하십시오. 사실, jQuery 객체가 항상 반환되기 때문에 요소가 일치하지 않아도 조건은 항상 true로 평가됩니다.

$(".submitBtn").click(function() { 
    if($("form").find('.error').length > 0) { //<<-- check for non-zero length 
     alert('Failed'); 
    } else { 
     alert('Success'); 
     //return true;  
    } 
}); 

는 그리고 "실패"일치하는 요소의 숫자 수를 반환합니다이

$(".submitBtn").click(function() { 
      if($("form").find('.error').size()) { 
       alert('Failed'); 
      } else { 
       alert('Success'); 
      //return true;  
      } 
}); 

.size() 시도 그것은

2

전자 있습니다. 즉 0이 아니면

관련 문제