我试图在表单验证后调用 ajax 函数,但它对我不起作用。下面的 jquery on-submit
方法对我来说工作正常。
$('#promotionAdd').on('submit',(function(e) {
e.preventDefault();
var formData = new FormData(this);
promotionAdd(formData);
return false;
}));
但是我需要在提交处理程序中调用相同的东西,但这不起作用。
$(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);
}
关于jquery - 我如何使用jquery验证调用submithandler中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38307693/