2013-04-19 2 views
0

Jquery 유효성 검사기 (http://bassistance.de/jquery-plugins/) 플러그인 submitHandler 함수에 문제가 있습니다. 양식의 유효성이 올바르지 만 유효하지 않은 핸들러 메시지가 올바르게 트리거되지만 submitHandler 함수가 올바르게 트리거되지 않으며 ajaxSubmit 함수가 corectly 트리거하지 않습니다. 어느 누구도 내가 잘못한 것을 보지 않습니까? 어떤 도움이라도 가장 잘 될 것입니다.Jquery 유효성 검사기 플러그인 아약스 제출이 트리거되지 않음

<script type="text/javascript"> 
$(document).ready(function() { 
var submitMessage  = $('#submit-message'), 
    messageContainer = submitMessage.find('span'), 
    loading   = $('#loading'); 

function showSuccess(message) { 
    messageContainer.text(message) 
    messageContainer.attr('class', 'success'); 
    } 
function showFailure(message) { 
    messageContainer.text(message) 
    messageContainer.attr('class', 'failure'); 
} 
$("#contact-form-info").validate({ 
    rules: { 
    contact_Name: { 
     minlength: 2, 
     maxlength: 50, 
     required: true 
    }, 
    contact_Foretag: { 
     minlength: 1, 
     maxlength: 50 
    }, 
    contact_Email: { 
     required: true, 
     email: true 
    }, 
    contact_Subject: { 
     required: true, 
     minlength: 5, 
     maxlength: 50 
    }, 
    contact_Message: { 
     required: true, 
     minlength: 10, 
     maxlength: 5000 
    } 
    }, 
    submitHandler: function(form) { 
     var options = { 
      beforeSubmit: function() { 
       loading.show(); 
      }, 
      success: function() { 
       showSuccess('Thank you! Your email has been submitted.'); 
       form.reset(); 
       loading.hide(); 
      }, 
      error: function() { 
       showFailure("We're sorry, your email could not be sent. Please try again later."); 
       loading.hide(); 
      } 
     }; 
     $(form).ajaxSubmit(options); 
    return false; 

    }, 
    invalidHandler: function() { 
     showFailure('There were some problems with your submission.'); 
    } 
}); 
}); 
</script> 

다음은 jsFiddle의 코드입니다. http://jsfiddle.net/JwNmK/

+1

콘솔에 어떤 JavaScript 오류가 있습니까? 양식의 HTML은 어디에 있습니까? – Sparky

+0

정확하게 "_ 정확하게"트리거하지 않습니다 _ 의미는 무엇입니까? – Sparky

+0

유효한 양식을 제출하면 "일반"양식으로 제출되고 process.php 페이지로 리디렉션됩니다. @Sparky 내가 볼 수있는 콘솔 btw에는 오류가 없습니다. – StenW

답변

2

영업 이익의 의견 :

"나는 그것이 '정상'형태로 submited되는 유효한 양식을 제출할 때, 나는 process.php 페이지로 이동 오전" ajax을 사용하는 경우 submitHandler 콜백 함수의 끝 부분에 return false이 필요합니다.

submitHandler: function (form) { 
    // your ajax 
    return false; 
}, 
+0

이 솔루션은 작동하지 않았으므로 반환 된 값을 어디에서 볼 수 있는지 코드를 업데이트하고 있습니다. – StenW

+0

@StenW, 그것은'submitHandler'의 마지막 줄이어야합니다. 양식의 HTML 코드를 보여주고 jsFiddle 데모를 만드십시오. – Sparky

+0

할 것입니다! 여기 내 jsFiddle http://jsfiddle.net/JwNmK/ – StenW