2012-02-16 98 views
0

我需要一個簡單的代碼以禁用的按鈕形式發送到下列條件:如果輸入類型文本爲空,禁用按鈕類型發送與jQuery?

如果所選<input type="radio"> ID爲「#radio_one」,然後檢查僅僅一個<input type="text"> ID爲「#text_one」。

OR

如果所選<input type="radio"> ID爲 「#radio_two」,然後檢查兩個<input type="text"> ID爲 「#text_one」 並且還與ID 「#text_two」。

而且,如果提供一個或兩個<input type="text">將爲空,則爲按鈕添加<input type="send">屬性disabled =「disabled」,但是,如果將再次填充此屬性,則會從該按鈕中刪除。

對不起,我的英語,我用谷歌翻譯:(

我沒有其他的代碼,我希望你能理解我,所以我創造了一些簡單的jQuery代碼,然後可以可能編輯

感謝

編輯:這不工作:

$("#send_button").attr("disabled", "disabled"); 

    if ($('#absence_one').checked && $('#cal_from').val().length > 0) { 
     $("#send_button").removeAttr("disabled"); 
    } 

    if ($('#absence_more').checked && $('#cal_to').val().length > 0) { 
     $("#send_button").removeAttr("disabled"); 
    } 

回答

1

看看我的例子。

我把click收聽收音機讓它檢查禁用或undisable按鈕

我把keyup監聽器上的文字輸入,使其檢查禁用或undisable按鈕

編輯

我做了這裏的例子略有變化是新的一個jsfiddle

另外,請確保您仔細檢查了服務器端的提交。如果某人禁用了JavaScript,該按鈕將可用於點擊。

$("#send_button").attr("disabled", "disabled"); 

$("input[type='radio']").change(function() 
{ 
    checkButton(); 
}); 

$("input[type='text']").keyup(function() 
{ 
    checkButton(); 
}); 

function checkButton() 
{ 
    if (($('#absence_one').is(":checked") && $('#cal_from').val().length > 0) || ($('#absence_more').is(":checked") && $('#cal_to').val().length > 0)) { 
     $("#send_button").removeAttr("disabled"); 
    } 
    else 
    { 
     $("#send_button").attr("disabled", "disabled"); 
    } 
} 
+0

這就是它,它完美的工作。謝謝 – Edoras 2012-02-17 17:31:26

1

如果我明白了,你要禁用的提交按鈕,如果任一對單選按鈕/文本框是UNF ulfilled。如果是這樣的:在這裏jsfiddle

$("input[type=submit]").attr("disabled", "disabled"); 

if ($('#radio_one').checked && $('#text_one').val().length > 0) { 
    $("input[type=submit]").removeAttr("disabled"); 
} 

if ($('#radio_two').checked && $('#text_two').val().length > 0) { 
    $("input[type=submit]").removeAttr("disabled"); 
} 
+0

是的,你瞭解得很好,但代碼不起作用。 ID是正確的,但是輸入文本後該按鈕仍然被禁用。 '$(「#send_button」)。attr(「disabled」,「disabled」); \t \t如果($( '#absence_one')。檢查&& $( '#cal_from')。VAL()。長度> 0){ \t \t $( 「#send_button的」)。removeAttr( 「無效」) ; \t \t} \t \t如果($( '#absence_more')。檢查&& $( '#cal_to')。VAL()。長度> 0){ \t \t $( 「#send_button的」)。removeAttr( 「無效」); \t \t}' – Edoras 2012-02-17 01:07:09

+0

我使用jQuery版本1.7.1 – Edoras 2012-02-17 01:08:33

+0

嘗試使用'.attr(「disabled」,「true」)'而不是 – 2012-02-17 01:45:53

相關問題