2010-07-22 91 views
4

按钮,这是我的我的HTML的一部分的jQuery使提交输入值变化

<input type="text" name="age" /> 
<input type="text" name="poscode" /> 
<input type="submit" name="submit" value="Next >>" disabled="disabled"/> 

这是我的脚本

<script type="text/javascript"> 
$(function(){ 
var enable = false; 
if($("input[name='age']").val != "") 
enable = true; 
if($("input[name='poscode']").val != "") 
enable = true; 
if(enable == true) $("input[name='submit']").attr('disabled', ''); 
}); 
</script> 

这不是工作,任何知道我做错了吗?

用户填写了两个输入的年龄& poscode后,提交按钮应该成为活跃 (在启动禁用)

+0

OK,我看到HTML,我看到一些jQuery的,现在哪里是问题吗? – 2010-07-22 12:50:41

回答

11

你可以做这样的事情:

$('input[name="age"], input[name="poscode"]').change(function(){ 
    if ($(this).val()) 
    { 
    $("input[name='submit']").removeAttr('disabled'); 
    } 
}); 
+0

'x.attr('disabled',boolean)'也可以。 – kennytm 2010-07-22 12:54:48

+1

@KennyTM:同意,在这种情况下,我发现自己更习惯于'removeAttr' :) – Sarfraz 2010-07-22 12:55:41

+0

@Sarfraz:+1我认为它更清楚它的功能。 – jinglesthula 2011-11-30 18:35:23

1

你以任何方式附加至输入字段?你的代码被写入的方式,我相信函数被调用一次,在文件加载后,然后简单地丢弃。为您的功能命名,并将其附加到onbluronchange

+0

嗨,你能告诉我怎么样,我对jquery&js很新颖 – damien 2010-07-22 12:57:54

0

与sAc已经提到的一样,您必须完全删除“禁用”属性。

2

要启用/当按下键做到这一点的方式禁用:

$('input[name="age"], input[name="poscode"]').keyup(function(){ 
    if ($(this).val()) 
{ 
    $("input[name='submit']").removeAttr('disabled'); 

}else{ 
$("input[name='submit']").attr('disabled','disabled'); 
} 
});