我正在尝试在我的插件中扩展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);发布于 2011-09-14 00:03:09
验证器覆盖提交,所以您只是调用验证器刚刚附加到的提交。
尝试更改它(在验证器中):
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插件开发指南。
https://stackoverflow.com/questions/7404375
复制相似问题