我试图在表单验证时调用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;
}
});
});
任何人都可以指导我错在哪里以及如何解决它。我想要感激。感谢
答案 0 :(得分:2)
在submitHandler
this
中指的是验证插件,而不是调用插件的形式。使用传入函数的form
参数代替。
另请注意,preventDefault()
会导致错误,因为e
未定义,return false
将不执行任何操作。在任何情况下都不需要它们,因为验证插件会为您预防表单提交。试试这个:
submitHandler: function (form) {
var formData = new FormData(form); // use 'form' here
promotionAdd(formData);
}