我在:
使用jquery验证插件http://bassistance.de/jquery-plugins/jquery-plugin-validation/
我想在验证通过时禁用提交按钮:
尝试了
$("#submit").click(function()
{
$(this).attr("disabled", "disabled");
});
但即使验证失败,这也会禁用提交按钮。有没有办法只在验证通过并发生提交事件时禁用提交?
答案 0 :(得分:18)
仔细查看来源,看起来就像你应该能够覆盖invalidHandler
一样:
$("#form").validate({
submitHandler: function(form) {
// disable your button here
form.submit();
},
invalidHandler: function() {
// re-enable the button here as validation has failed
}
});
乍一看,这似乎是你想用validate
插件做这件事的方式,但遗憾的是我没有时间来调整它以使确定< / em>它有效。
修改:
这应该做的(我使用名为fname
的单个文本字段进行测试):
$('#frm').bind('invalid-form.validate', function(){
// you can add extra validation handling here if you want to
});
$('#frm').validate({
rules: {
fname: "required"
},
submitHandler: function(form){
$('form input[type=submit]').attr('disabled', 'disabled');
form.submit();
}
});
submitHandler
一旦验证通过就仅点击。