我正在尝试在我的插件中扩展jQuery表单插件。我在下面编写了代码,但我在submitHandler
中得到了无限循环。
我的代码有什么问题?我该如何解决?
(function($) {
$.fn.extend({
//plugin name - myvalidateform
myvalidate: function(options) {
//Settings list and the default values
var defaults = {
relues:null,
url:null,
password:0,
type:'get',
ajax:null
};
var o2 = $.extend(defaults, options);
return this.each(function() {
var o =o2;
var obj = $(this);
var formplugin= $(obj).validate({
submitHandler: function(form) {
alert("a");
$(form).submit();
}
});
});
}
});
})(jQuery);
答案 0 :(得分:0)
验证器会覆盖提交,因此您只需调用刚才附加的验证器提交。
尝试更改此项(在验证程序中):
validator.settings.submitHandler.call( validator, validator.currentForm );
if (validator.submitButton) {
// and clean up afterwards; thanks to no-block-scope, hidden can be referenced
hidden.remove();
}
return false;
为:
if (validator.submitButton) {
// and clean up afterwards; thanks to no-block-scope, hidden can be referenced
hidden.remove();
}
return validator.settings.submitHandler.call( validator, validator.currentForm ) ? true : false;
现在,如果您想提交,您应该可以在submitHandler上使用“return true”来提交表单。现在我可能犯了一个错误并且有更好的方法来做到这一点,但至少我有一些可能有用的答案。
如果您愿意,还可以在我的网站上查看jQuery插件开发指南。