2016-08-02 23 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