在提交AJAX表单之前确认电子邮件地址

时间:2012-07-02 14:29:14

标签: jquery ajax

我有一张表格,我通过AJAX提交。表格包含很多字段,但我遇到的两个字段是“emailaddress”和“确认邮件地址”。如果表格只能在这两个字段相同的情况下提交,我会喜欢它。需要注意的是,这两种形式也不是必需的。因此,如果它们都是空白的,它们应该能够提交。

这是我目前使用的代码。我删除了很多在表单提交期间和之后发生的视觉效果,以保持其清洁。

$(function() {

  $("#contact_form form").submit(function() {
    var thistarget = this.target;

    $("#contact_form form").validate({
    rules: {
        emailaddress: "required",
        confirmemailaddress: {
        equalTo: "#emailaddress"
           }
         }
    });
   return false;  

  $.ajax({  

      type: this.method, 
      url: this.action,  
      data: $(this).serialize(), 

      success: function() {  
        alert ("success:");

        $('#contact_form').html("<div id='message'></div>");  
        $('#message').html("<h2>Request Form Submitted!</h2>")  
        .append("<p>We will be in touch soon.</p>")  
        .hide()  
        .fadeIn(1500, function() {  
          $('#message').append("Thank you!");  
        }); 

      }


    });

   return false;  

  });
});

2 个答案:

答案 0 :(得分:2)

只需删除:emailaddress:“required”,如果您有该规则,除非您输入电子邮件地址,否则您将无法提交表单。

答案 1 :(得分:-1)

而不是在代码下使用验证器..

if( $('#emailaddress').val() == $('#confirmemailaddress').val() ) 
{
do ajax code
}else{
return false;
}