2011-03-09 102 views
0

我有一個默認禁用的文本框... onclick工作並使其能夠輸入,但是當我單擊單選按鈕時......它不會再禁用文本框Javascript OnBlur無法正常工作

任何線索?

<input type="radio" name="group1" value="website" OnBlur="javascript:document.getElementById('websiteurl').disabled = true;" OnClick="javascript:document.getElementById('websiteurl').disabled = false;"> 
<input name="websiteurl" type="text" id="websiteurl" value="http://" size="50" disabled="true" /> 

在此先感謝

+0

當你指的是單擊單選按鈕,你的意思是點擊另一個單選按鈕? – LostLin 2011-03-09 15:55:58

回答

0

沒有屬性enabled。您使用disabled並將其設置爲truefalse

除此之外:

使用小寫屬性(否則就不是有效的XHTML);沒有必要把javascript:放在它的前面。 此外,最好從JavaScript代碼附加事件,而不是內聯它們。特別是如果你使用像jQuery庫它是非常容易:

$('input[name=group1][value=website]').blur(function() { 
    $('#websiteurl').attr('disabled', 'true'); 
}).click(function() { 
    $('#websiteurl').removeAttr('disabled'); 
}); 

(當然是#id會更好,而不是input[name=group1][value=website]選擇)啓用禁用

0

嘗試的disabled=true代替enabled=false

+0

對不起,這是不正確的代碼,我試圖讓它工作...它被禁用=真,仍然無法工作 – Lee 2011-03-09 15:40:40

0

變化,它會工作。

沒有啓用屬性。

+0

是的抱歉,這是不正確的代碼,我試圖讓它工作...它被禁用=真仍然不起作用 – Lee 2011-03-09 15:42:41

2

沒有「啓用」屬性。您必須將禁用設置爲「禁用」才能禁用輸入,或者移除屬性「禁用」才能啓用它。

禁用=「true」是錯誤的語法,它應被禁用=「禁用」

0

上下文不能完全確定,但不會複選框在這種情況下更適合於禁用或啓用文本框?

$('input[type="checkbox"]').click(function() { 
    if (this.checked) { 
     $('#websiteurl').removeAttr('disabled'); 
    } 
    else { 
     $('#websiteurl').attr('disabled', true); 
    } 
});