我目前正在使用jQuery Validate& amp;阿贾克斯。提交时,没有任何反应,页面重新加载 - 因为.append()由于某种原因不是函数?
以下代码。非常感谢任何帮助。
var $contact_form = $('#enquiry-form');
$contact_form.validate({
errorPlacement: function() {
return false;
},
submitHandler: function($contact_form) {
$contact_form.append('<img class="loading" src="../../images/site/loading.gif">');
$.ajax({
type: "POST",
url: "../../ajax/contact-form-send.php",
data: $contact_form.serialize(),
success: function(response) {
var resp = JSON.parse(response);
$contact_form.find('input').remove();
$contact_form.find('textarea').remove();
$contact_form.append('<p class="status-code ' + resp.status + '">' + resp.msg + '</p>');
},
error: function() {
console.log('Ajax request not received');
}
});
return false; //Stop the redirect after submission via ajax.
}
});
答案 0 :(得分:0)
开发人员为表示表单对象的submitHandler函数提供参数。 submitHandler: function(form) {...
所以你可以像这样使用它...... data: $(form).serialize()
等等。
var $contact_form = $('#enquiry-form');
$contact_form.validate({
errorPlacement: function() {
return false;
},
submitHandler: function() {
$contact_form.append('<img class="loading" src="../../images/site/loading.gif">');
$.ajax({
type: "POST",
url: "../../ajax/contact-form-send.php",
data: $contact_form.serialize(),
success: function(response) {
var resp = JSON.parse(response);
$contact_form.find('input').remove();
$contact_form.find('textarea').remove();
$contact_form.append('<p class="status-code ' + resp.status + '">' + resp.msg + '</p>');
},
error: function() {
console.log('Ajax request not received');
}
});
return false; //Stop the redirect after submission via ajax.
}
});