如何禁用按钮,而表单不验证与jQuery验证?
答
$('#button').attr('disabled', 'disabled');
$("#myform").validate();
$("#submit").click(function() {
if ($("#myform").valid())
$('#button').removeAttr('disabled');
});
+0
谢谢!我实际上已将它绑定到模糊方法,它也可以工作,除非它不需要额外的按钮! – 2009-12-28 00:57:27
答
这样做有点棘手。我会建议尝试是结合一个change()
事件:
$(":input").change(function() {
$('#formid").validate();
if ($("#formid").valid()) {
$("#buttonid").removeAttr("disabled");
} else {
$("#buttonid").attr("disabled", true);
}
});
这种方法的缺点是,例如,如果一个文本字段不能为空白change()
事件不会被解雇,直到它失去对焦,这样按钮不会被取消。如果这对你很重要,你可以添加一个keydown()
事件。
+0
小字体错误 - 我认为第5行应该是'... removeAttr ...“。另外,如果有任何变化,您将动态添加输入字段,您可以使用jquery”live“方法而不是”change“来将列表添加到所有输入字段,甚至在页面加载后添加。 – 2009-12-28 00:40:18
请详细说明你想问什么? 你问这样的问题: 有一个表单有一个验证按钮,一旦表单已经验证你想启用一个“下一步”按钮,否则这个“下一步”按钮被禁用..或者你问别的东西... ! – 2009-12-27 23:45:10
哦,是的,我的坏。该表单有一个只执行一些JS的按钮,但在表单验证之前需要禁用该按钮。该按钮从禁用开始,只需要jQuery验证代码即可在整个表单验证后启用它。 – 2009-12-27 23:50:30