2014-06-19 4 views
1

그래서 나는 자바 스크립트에 약간의 유효성 검사를 구축하고 필드에 오류가있을 때 사업부 <div class="form-group">...</div><div class="form-group has-error">...</div>검색 페이지 .has 오류

내가 다음 양식을 제출하기위한 버튼을 포함하는 .btn-bar 사업부가된다. 나는이 기본적 경우로 페이지가로드를 숨긴 :

function enableButtons(){ 
    if(noErrors){ 
    $('.btn-bar').slideDown(); 
    } 
} 

지금 obviosuly, 스크립트가 이상 작동하지 않습니다

$(document).ready(function(){ 
    $('.registration-information').hide(); 
    $('.btn-bar').hide(); 
}); 

나는이 .btn-bar 표시하는 기능을 가지고있다. 보다 구체적으로는 if 성명입니다. 내 질문에, 페이지의 클래스 이름에 has-error이있는 div를 검색하려면 어떻게해야합니까? 만약 하나가 있다면 btn-bar는 보여지지 않습니다. btn-bar가 없다면 보여줍니다.

+0

[가능한 jQuery에 대한 함수가 있습니까?] (http://stackoverflow.com/questions/31044/is-there-an-exists-function-for-jquery) –

답변

1

jQuery에서는 실제로 매우 간단합니다. 경우에 당신은 결국 단지 .has-error 클래스와 관련이없는 점에서 추가 할 다른 유효성 검사가, 내가 noErrors을 분리

function noErrors() { 
    return $('.has-error').length == 0; 
} 

function enableButtons(){ 
    if(noErrors()){ 
     $('.btn-bar').slideDown(); 
    } 
} 

() 자신의 기능에이 같은 것을보십시오.

행운을 빈다.

+0

최대한 빨리이 대답을 받아 들일 것입니다. 다른 것들은 효과가있을 수 있지만, 나는이 프로젝트에서 내가 원하는 것이 아니다. 나는 그들을 명심 할 것이다! – user3758114

+0

페이지의 모든 입력 값이 모두 필요하기 때문에이 값을 모두 숨길 때까지 숨길 수 있습니다. – user3758114

+0

그럴 경우 변경 될 때마다 (변경 이벤트보기) 각 항목에서 .has-error 클래스를 삭제하고 매번 enableButtons()를 테스트해야합니다. 양식의 크기에 따라보다 효율적인 방법이있을 수 있지만 그 부분부터 시작하겠습니다. –

0

당신은 단순히 이렇게하여이 작업을 수행 할 수 있습니다 :

$(document).ready(function(){ 
    $('.registration-information').hide(); 
    $('.btn-bar').hide(); 

    if (!$('.has-error')) { 
     $('.btn-bar').slideDown(); 
    } 
}); 

그것은 모든 요소는 클래스 .has-error이 있는지 확인합니다, 그렇지 않은 !이 페이지의 아무 곳이나 존재하는 경우, 그것은 .btn-bar 표시됩니다 .

+0

나는 OP 원래 코드, 그들은 enableButtons() 함수에서 호출 될 때까지 체크가 발생하지 않기를 원합니다 ... –