2010-02-03 7 views
3

안녕하세요 양식의 빈 필드를 확인하고 사용자에게 경고합니다. 경고 사용자가 데이터를 게시 할 때하지만 난 페이지jquery 이벤트 제출 및 false 반환

$('#loginAccount').submit(function() { 
    $(this).find(':input:text').each(function(i) { 
     if($(this).val()=="") { 
      // alert($('label').eq(i).html()) 
      $('#alert3').html('Please fill all fields.'); 
      return false; 
     } 
    }); 
}); 
당신은 submit 함수에서 false를 반환 할 필요가

답변

7
$('#loginAccount').submit(function() { 
    var valid = true; 
    $(this).find(':input:text').each(function(i) { 
     if($(this).val() == "") { 
      // alert($('label').eq(i).html()) 
      $('#alert3').html('Please fill all fields.'); 
      valid = false; 
     } 
    }); 
    return valid; 
}); 

현재 각각에서 돌아오고 있습니다. 당신이해야 할 일은 그것이 유효한지 추적하고 그 값을 제출 한 결과로 사용하는 것입니다.

+0

:)) 왜 내가 이것을 생각할 수 없었다, 키스 감사합니다 – dexamel

+0

고마워요! 나를 묻지 않기 위해서. :) – Ron

1

를 새로 고침하지 false를 반환 couldnt는 아닌 each 기능 :

$('#loginAccount').submit(function() { 
    var isValid = true; 
    $(this).find(':input:text').each(function(i) { 
     if($(this).val()=="") 
     { 
      isValid = false; 
      //alert($('label').eq(i).html()) 
      $('#alert3').html('Please fill all fields.'); 

     } 
    }); 
    return isValid; 
}); 
+0

항상 false를 반환합니다. –

+0

Ooops, 네 말이 맞아! 무승부에 너무 빨리 ... –

5

return false;은 jQuery each() 내에서 다른 의미를 사용합니다. 그것은 각각의 탈옥에 사용됩니다. 어쩌면 당신은 각() 뒤에 관찰되는 플래그를 설정하여 유효성 검사가 성공했는지 확인할 수 있습니다.

+0

이 작은 설명을 가져 주셔서 감사합니다. 나는 전에 같은 문제를 겪었습니다. 타겟 페이지가 자바 스크립트가 true를 반환 할 때 이미로드되기 시작했기 때문에 그것이라고 생각했습니다.하지만 틀 렸습니다. – Daan

+0

감사합니다. patrick – dexamel

0

값을 반환하기 위해 폐쇄를 사용 하시겠습니까?

$('#loginAccount').submit(function() { 
      var result = true;  
      $(this).find(':input:text') 
       .each(function(i) { 
       if($(this).val()=="") 
       { 
        //alert($('label').eq(i).html()) 
        $('#alert3').html('Please fill all fields.'); 
        result = false; 
       } 
      }); 
      return result; 
      })