2016-08-02 52 views
1

我一直在試圖做一個表單,一旦驗證,發送一封電子郵件並在同一屏幕上返回「發送」消息。換句話說,我需要以某種方式結合起來的作用:提交JQuery驗證插件成功函數?

$('#mailForm').on('submit', function(){ 
$("#formContainer").html("Thanks! Your message has been sent.") 
$.post($(this).attr('action')); 
    return false; 
}); 

有:

$('form').validate(); 

閱讀,我有一個想法,它應該是這樣的:

$("#mailForm").validate({ 
    submitHandler: function(form){ 
    $("#mailForm").ajaxSubmit(); 
    $("#formContainer").html("Thanks! Your message has been sent."); 
    return false; 
    }; 
}); 

但這只是打破了頁面,顯然是無稽之談。誰能幫忙?

回答

1

你應該寫你的代碼

$('#mailForm').validate({ 

    ... your validation rules come here, 

    submitHandler: function(mailForm) { 
     $.ajax({ 
      url: form.action, 
      type: form.method, 
      data: $(mailForm).serialize(), 
      success: function(response) { 
       $("#formContainer").html("Thanks! Your message has been sent."); 
      }    
     }); 
    } 

});

+0

謝謝 - 有什麼我可以添加留在同一頁上,雖然?提交時我被帶到我的/email.php頁面。在我嘗試jQuery Validation插件之前,我的「返回false」做到了這一點,但是當我將它添加到此處時,它不起作用... – JohnG

+1

您作爲表單動作給出了什麼..? –

+0

我有'url:email.php,輸入:post'... – JohnG