2010-07-22 109 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'); 
} 
});