2012-11-16 3 views
5

의 유효성을 검사 나는 비어있는 경우 입력 값을 확인하고 트위터 부트 스트랩 팝 오버와 메시지 오류 표시이 코드를 가지고 : 변경 이벤트가 완료되면으로 반복 값

$(document).on("ready", login_events()); 

function login_events(){ 

    $("#userId, #password").on("change", validateEmpty); 
    $("#loginButton").on("click", validateAll); 

} 

function validateEmpty(){ 

    input = $(this); 
    input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
    isValid = true; 

    if(input.val() === ""){ 
     input.popover('show'); 
     isValid = false; 
    } 
    else{ 
     input.popover('hide'); 
    } 

    return isValid; 

} 

이 완벽하게 작동을하지만 양식의 각 입력 사이를 반복하는 다른 함수를 수행하고 비어 있는지 확인하고 (validateEmpty()) 비어있는 경우 preventDefault를 수행합니다.

function validateAll(event){ 

    $("#loginForm input").each(validateEmpty); 

} 

답변

1

이 폐쇄을보십시오 : 당신은 내가 할 수있는 올바른 방법을 알아낼 수 없습니다 나는 이런 식으로 뭔가를하지만 validateAll 기능을 실행할 수있는 #loginButton에 대한 클릭 이벤트 설정을 가지고 볼 수 있듯이

:

function validateAll(event){ 
    var isValid = true; 
    $("#loginForm input").each(function(){ 
     input = $(this); 
     input.popover({animation: true, placement: 'right', trigger: 'manual', title: 'Field is Empty', content: input.attr("data-empty-message")}); 
     isValid = true; 

     if(input.val() === ""){ 
      input.popover('show'); 
      if (isValid) 
       isValid = false; 
     } 
    }); 
    if (!isValid) { 
     alert('form is not valid!'); 
    } 
} 
+0

감사합니다. 코드에서 isValid를 어떻게 처리하는지 알 수있었습니다. 나는 아래 답변을 썼다. –

0

감사합니다. @VMAtm! 나는 이미 만든 validateEmpty 함수를 실행하기 위해 each() 내부 함수를 대체했습니다. 지금 큰 일을하고 있습니다!

function validateAll(event){ 

    isValid = true; 

    $("#loginForm input").each(validateEmpty); 

    if(!isValid){ 
    event.preventDefault(); 
    } 
}