2017-08-29 90 views
0

当我点击提交按钮,它仍然提交表单而不验证字段。我也在这里查看了其他的解决方案,但没有问题提到在提交的点击功能中要做什么。jQuery对话框验证使用jquery.validate()

这里是我的代码:https://jsfiddle.net/ishtiaq156/an1xqoxz/

 $('#submitContact').click(function() { 
     var customerId = $('#customerId').val(); 
     var formData = $('#addCustomerForm').serialize(); 

     $.ajax({ 
      url: "/abc/admin/customer/" + customerId + "/addContact", 
      type: "POST", 
      dataType: "json", 

      data: formData, 
      success: function(data) { 
      location.reload(); 
      }, 
      failure: function(errMsg) { 
      alert(errMsg); 
      } 

     }); 
     }); 

的JavaScript:

$('#submitContact').click(function() { 
       var customerId = $('#customerId').val(); 
       var formData = $('#addCustomerForm').serialize(); 

       $.ajax({ 
        url: "/abc/admin/customer/" + customerId + "/addContact", 
        type: "POST", 
        dataType: "json", 

        data: formData, 
        success: function(data) { 
        location.reload(); 
        }, 
        failure: function(errMsg) { 
        alert(errMsg); 
        } 

       }); 
       }); 

回答

0

一种方法是增加一个提交处理程序,以它调用你的AJAX功能验证码。然后你就可以改变你的按钮类型=“提交”

$('#addCustomerForm').validate({ 
    rules: { 
     /* removed for brevity */ 
    }, 
    messages: { 
     /* removed for brevity */ 
    }, 
    submitHandler: function (form) { 
     updateRecord(); 
     /* $("#dialog-form").dialog("close"); - if using dialog */ 
    } 
    /* ....add other options as needed */ 
}); 

function updateRecord() { 
    var customerId = $('#customerId').val(); 
    var formData = $('#addCustomerForm').serialize(); 

    $.ajax({ 
     url: "/abc/admin/customer/" + customerId + "/addContact", 
     type: "POST", 
     dataType: "json", 

     data: formData, 
     success: function(data) { 
      location.reload(); 
     }, 
     failure: function(errMsg) { 
      alert(errMsg); 
     } 
    }); 
} 

另外,还可以使用数据,而不是添加一些到URL发送给您的所有表单变量:

data: { 
    customerId: customerId, 
    addContact: "addContact", 
    ...add other form fields 
} 
+0

完美。我需要这两样东西:submitHandler和输入类型为submit。它现在有效。 –

0

你应该张贴在这里控制台登录

确保你已经包括jQuery验证插件

我已经在过去做了or download it

+0

是。我确实添加了jquery.validate.js,并且我可以通过在Chrome开发工具中单击ctrl + p来验证它是否已加载。此外,没有控制台错误要发布。 –