2009-12-27 114 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