javascript jQuery验证成功后用ajax提交表单
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/18863773/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Submitting a form with ajax after jQuery validation is successfull
提问by Mitch Evans
Ok so I have a form that I am validating with jQuery Validation and I am trying to now submit it with AJAX. With the code below, once the form is valid and you click on submit the page reloads and the inputs are placed in the url address bar (i.e. method="get")
好的,所以我有一个表单,我正在使用 jQuery Validation 进行验证,现在我正在尝试使用 AJAX 提交它。使用下面的代码,一旦表单有效并且您点击提交页面重新加载并且输入被放置在url地址栏中(即method =“get”)
In the ajax method I have that set to POST
but it doesn't appear to be using the ajax call.
在 ajax 方法中,我已将其设置为POST
但它似乎没有使用 ajax 调用。
What did I do wrong?
我做错了什么?
$().ready(function() {
var $form = $(this);
//validate the inquiry form on keyup and submit
$("#inquiryForm").validate({
showErrors: function(errorMap, errorList) {
for (var error in errorMap) {
$.growl.error({ message: errorMap[error] });
}
},
onkeyup: false,
rules: {
fullName: {
required: true
},
email: {
required: true,
email: true
},
inquiry: {
required: true,
minlength: 5,
maxlength: 500
}
},
messages: {
fullName: "Your name is required",
email: "A valid email address is required",
inquiry: "Your inquiry is required and must have between 5-500 characters"
},
submitHandler: function(form) {
$.ajax({
url: form_submit/inquiry_form/inquiry_form.php,
type: "POST",
data: $(form).serialize(),
success: function(response) {
$('#inquiryFormHolder').html("Your form was submitted!");
}
});
return false;
}
});
});
回答by Fouad Fodail
Try to use :
尝试使用:
submitHandler: function(form) {
$.ajax({
url: form_submit/inquiry_form/inquiry_form.php,
type: "POST",
data: $(form).serialize(),
success: function(response) {
$('#inquiryFormHolder').html("Your form was submitted!");
}
});
$form.submit();
}