2012-08-17 3 views
0

양식의 Jquery 유효성 검사와 .on (제출) 코드의 Ajax 함수를 사용하고 있습니다.Jquery 유효성 검사 후 .onsubmit 함수

유효성 검사가 잘못되어 .on (submit) 기능이 여전히 실행되는 경우에도 문제가 발생합니다.

.on (제출) 코드를 넣기 위해 유효성 검사 코드에 추가 할 수있는 "유효성 검사 성공"코드가 있습니까? 양식이 올 바르고 유효 할 때만 실행됩니다.

는 CSTE 연구진은이다 기능

 $('#valform').on('submit', function (e){ 
    e.preventDefault(); 
    $.ajax({ 
    type: "POST", 
    url: "<?php echo MAXINBOUND_PLUGIN_URL ?>/php/localProxy.php", 
    data: $('#valform').serialize(), 
    success: function (response) { 
      alert('Great!'); 
      // do something! 
    }, 
    error: function() { 
      alert('There was a problem!'); // handle error 
    } 
     }); 
     }); 

을 (제출)이 당신은 제출 된 형태가 유효한지 확인하기 위해 jquery valid() method를 사용할 수있는 유효성 검사 코드

$("#valform").validate({ 
    invalidHandler: function(form, validator) { 
     success: function (response) { 
     var errors = validator.numberOfInvalids(); 

     if (errors) { 
      $("#error-message").show().text("Please correct the required field(s)"); 
     } else { 
      $("#error-message").hide(); 
     } 
    }, 
    messages: { 
     agree: { 
      required: "" 
     }, 
     phone1: { 
      required: "" 
     }, 
     address1: { 
      required: "" 
      }, 
    }, 
    rules: { 
     agree: { 
      required: true, 
     }, 
     phone1: { 
      required: true, 
      phoneUS: true 
     }, 
     Address1: { 
      required: true, 
      addr: true, 
      }, 

     }, 

    }); 

답변

1

입니다. 이런 식으로 뭔가 ...

if ($("#valform").valid()) { 
    // do your ajax stuff 
} 

이 유의하시기 바랍니다 유효한()는 의 validate() 전에 그것에 양식에 호출 될 때에만 작동합니다.

희망이 도움이됩니다.

+0

이 정보가 작동하기 전에 페이지가로드 될 때 자동으로 양식의 유효성을 검사한다는 점을 제외하고는 작동합니다. – user1532944

+0

흠. jsFiddle 또는 유사한 코드를 게시 할 수 있습니까? 감사. – neo108

3

submitHandler을 사용하면 ajax 호출을 수행 할 수 있습니다. 따라서 모든 유효성 검사를 통과 한 후에 만 ​​호출됩니다.

$("#valform").validate({ 
    submitHandler: function(form) { 
    //do ajax call 
    } 
})