我如何使用 jquery 验证在 submithandler 中调用函数?
How can i call function in submithandler using jquery validation?
我试图在表单验证后调用 ajax 函数,但它对我不起作用。下面的 jquery on-submit
方法对我来说工作正常。
$('#promotionAdd').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData(this);
promotionAdd(formData);
return false;
}));
但我需要在 submithandler 中调用同样的东西,但它不起作用。
$(document).ready(function () {
$('#promotionAdd').validate({ // initialize the plugin
rules: {
mtitle: {
required: true,
minlength: 3,
}
},
messages: {
mtitle: "Please enter Promotion Title",
},
submitHandler: function (form) { // for demo
//alert(this);
e.preventDefault();
var formData = new FormData(this);
promotionAdd(formData);
return false;
}
});
});
任何人都可以指导我我错在哪里以及我该如何解决它。我想欣赏。谢谢
在 submitHandler
this
中指的是验证插件,而不是调用插件的表单。请改用传递给函数的 form
参数。
另请注意,preventDefault()
将导致错误,因为 e
未定义且 return false
将不执行任何操作。在任何情况下都不需要它们,因为验证插件会为您处理表单提交的预防。试试这个:
submitHandler: function (form) {
var formData = new FormData(form); // use 'form' here
promotionAdd(formData);
}
我试图在表单验证后调用 ajax 函数,但它对我不起作用。下面的 jquery on-submit
方法对我来说工作正常。
$('#promotionAdd').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData(this);
promotionAdd(formData);
return false;
}));
但我需要在 submithandler 中调用同样的东西,但它不起作用。
$(document).ready(function () {
$('#promotionAdd').validate({ // initialize the plugin
rules: {
mtitle: {
required: true,
minlength: 3,
}
},
messages: {
mtitle: "Please enter Promotion Title",
},
submitHandler: function (form) { // for demo
//alert(this);
e.preventDefault();
var formData = new FormData(this);
promotionAdd(formData);
return false;
}
});
});
任何人都可以指导我我错在哪里以及我该如何解决它。我想欣赏。谢谢
在 submitHandler
this
中指的是验证插件,而不是调用插件的表单。请改用传递给函数的 form
参数。
另请注意,preventDefault()
将导致错误,因为 e
未定义且 return false
将不执行任何操作。在任何情况下都不需要它们,因为验证插件会为您处理表单提交的预防。试试这个:
submitHandler: function (form) {
var formData = new FormData(form); // use 'form' here
promotionAdd(formData);
}