jQuery对话框验证使用jquery.validate()
问题描述:
当我点击提交按钮,它仍然提交表单而不验证字段。我也在这里查看了其他的解决方案,但没有问题提到在提交的点击功能中要做什么。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);
}
});
});
答
一种方法是增加一个提交处理程序,以它调用你的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
是。我确实添加了jquery.validate.js,并且我可以通过在Chrome开发工具中单击ctrl + p来验证它是否已加载。此外,没有控制台错误要发布。 –
完美。我需要这两样东西:submitHandler和输入类型为submit。它现在有效。 –