2011-11-02 72 views
0

禁用的文本框的按鍵事件的按鈕,我創建一個文本框: -如何啓用或在javascript

TextBox ID="TxtUname" onKeyPress="ENABLE_BTN()" 

現在,我寫了一個函數: -

script type="text/javascript" 

window.onload = function() { 
     document.getElementById('SSAccept').disabled = true; 
}; 
function ENABLE_BTN() { 
    var EN=document.getElementById('TxtUname').value; 
    if(EN=='') { 
     document.getElementById('SSAccept').disabled=true; 
    } else { 
     document.getElementById('SSAccept').disabled=false; 
    } 
} 
</script> 

但仍禁用的按鈕在按下文本框中的任何鍵時不能啓用。 誰能告訴我我做錯了什麼?在此先感謝

Dev ..

回答

1

onkeypress沒有在所有的瀏覽器 - >http://www.quirksmode.org/js/keys.html

onkeyup/onkeydown應使用 - >

工作例如:http://jsfiddle.net/KCBzk/

HTML:

<input id="TxtUname" value="" onkeydown="ENABLE_BTN()"/><br> 
<button id="SSAccept">Some test</button> 

Javascript:

window.onload = function() { 
    document.getElementById('SSAccept').disabled = true; 
} 
function ENABLE_BTN() { 
    var EN=document.getElementById('TxtUname').value; 
    if(EN=='') { 
     document.getElementById('SSAccept').disabled=true; 
    } else { 
     document.getElementById('SSAccept').disabled=false; 
    } 
} 
+0

夥計..在KeyDown too dosent工作,但onKeyUp工作成功。非常感謝。上帝保佑你..但是你能否告訴我,onKeyUp會在每個瀏覽器上成功運行? – Dev

+0

@Dev你在用什麼瀏覽器? – ManseUK

+0

我正在使用IE .. – Dev

-1

事情是,你需要一個事件來調用該函數。你應該監視你的文本框的變化,並在值改變時調用函數。像使用jQuery

$("#TxtUname").keydown(function(e) { 
    if($("#TxtUname").val == '') { 
     //..disable button.. 
    } else { 
     //..enable button 
    } 
}); 
+0

這是jQuery - OP沒有說他正在使用jQuery – ManseUK

+0

我說喜歡使用jQuery。 **你應該監視你的文本框的變化,並調用函數,只要值的變化**見 – satin

+0

是應得的...沒有看到它清楚!我的壞 – satin

相關問題