2017-08-29 78 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來驗證它是否已加載。此外,沒有控制檯錯誤要發佈。 –