2009-12-27 113 views
0

我想知道如何使用jQuery禁用按钮(不提交),而表单不验证与jQuery验证,但是当它确认,启用按钮。如何禁用按钮,而表单不验证与jQuery验证?

+0

请详细说明你想问什么? 你问这样的问题: 有一个表单有一个验证按钮,一旦表单已经验证你想启用一个“下一步”按钮,否则这个“下一步”按钮被禁用..或者你问别的东西... ! – 2009-12-27 23:45:10

+0

哦,是的,我的坏。该表单有一个只执行一些JS的按钮,但在表单验证之前需要禁用该按钮。该按钮从禁用开始,只需要jQuery验证代码即可在整个表单验证后启用它。 – 2009-12-27 23:50:30

回答

0
$('#button').attr('disabled', 'disabled'); 
$("#myform").validate(); 
$("#submit").click(function() { 
    if ($("#myform").valid()) 
     $('#button').removeAttr('disabled'); 
}); 
+0

谢谢!我实际上已将它绑定到模糊方法,它也可以工作,除非它不需要额外的按钮! – 2009-12-28 00:57:27

0

这样做有点棘手。我会建议尝试是结合一个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