2012-11-07 4 views
0

컨테이너에 잘못된 양식 필드가 있는지 확인하는 기능이 있습니다. 특정 컨테이너를 보여주고있는 링크로 연결되면 'hasErrors'클래스가 추가됩니다.jQuery "또는 if 문"

function treatFormLinks() { 
    if (!$('#One .required').valid()) { 
     $('#LinkOne').addClass('hasErrors');  
    } 
    if (!$('#Two .required').valid()) { 
     $('#LinkTwo').addClass('hasErrors');  
    } 
    if (!$('#Three .required').valid()) { 
     $('#LinkThree').addClass('hasErrors'); 
    } 
}; 

$("#Submit").click(function() { 
    treatFormLinks(); 
}); 

제대로 작동하지만 컨테이너 # 2 개의 필드는 유효하지만 컨테이너 # 3 개의 필드에는 오류가있는 경우 문제가 발생합니다. 이 경우 'hasErrors'클래스는 #LinkThree에 추가되지 않습니다.

이 기능의 로직에 문제가 있다는 것을 알고 있지만 브라우저를 모두 점검 할 때까지 브라우저를 계속 확인하려면 어떻게 말합니까?

바보 문제는, 나도 알아,하지만 어쨌든 도움이 필요합니다 :)

+0

중요한 경우 jQuery 유효성 검사 플러그인을 사용하고 있습니다. –

+3

false를 반환하지 않아 양식이 실제로 제출되지 않는 한 코드는 그대로 작동해야합니다. –

+0

당신이 우리에게 보여준 것을 통해, 그것은 당신이 요구하는 것을해야합니다. 위와 같이 결과에 관계없이 추가 요소의 유효성을 검사하는 것을 막을 수있는 것은 없습니다. – Archer

답변

0

글쎄, 내 실수가 전혀 분명하지이었고, 여기에 내가이 고정 방법입니다. 나는 각각의 경우에이

!$('#One input, #One select, #One textarea').valid() 

!$('#One .required').valid() 

을 대체 지금은 내가 예상대로 작동합니다.

+0

그리고 여러분 모두는 여러분이 갖고있는 정보에 근거하고 있습니다. 다들 감사 해요! –