2012-02-16 66 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

相关问题