2012-03-26 2 views
2

다음은 속성이 이고 값이 ''인 사람이 제출할 수 없도록하는 코드입니다. 내 문제는 IF 첫 번째 입력에서 마지막 입력을 확인합니다. 즉, 첫 번째 입력에 값이 있으면 양식이 제출됩니다. 첫 번째 입력이 채워지 지 않으면 다른 입력에 대해 정상적으로 작동합니다. true 또는 false를 반환하기 전에 모든 입력을 확인하도록 할 수 있습니까?if 문의 첫 번째 선택자가 true를 반환하는 경우 문이 true를 반환합니다.

$('form').submit(function() { 
    var input = $('input, textarea'); 

    if (input.data('fill') == 'fill' && input.val() == '') { 
     return false; 
    } 
}); 

나는 "else if"로 각 입력을 개별적으로 타겟팅하여이 문제를 해결할 수 있지만 그 방법은 잘못된 것처럼 보입니다.

답변

3

input 값을 모두 고려하려면 each 메서드를 사용하십시오.

$('form').submit(function() {  
    var allFilled = true; 
    $('input, textarea').each(function() { 
    if ($(this).data('fill') === 'fill' && $(this).val() === '') { 
     allFilled = false; 
    } 
    }); 

    return allFilled; 
}); 
+0

고맙습니다. if 문에서 var false를 만들 수 있다는 것을 알지 못했습니다. 그게 굉장한 걸! 감사 – BrianP

관련 문제