如何在javascript中启用或禁用文本框的按键事件上的按钮

时间:2011-11-02 09:48:37

标签: javascript asp.net

我创建了一个TextBox: -

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>

但是仍然禁用禁用的按钮在按下文本框中的任何键时都无法启用。 谁能告诉我我做错了什么?在此先感谢

开发..

2 个答案:

答案 0 :(得分:1)

onkeypress无法在所有浏览器中使用 - &gt; http://www.quirksmode.org/js/keys.html

应使用

onkeyup / onkeydown - &gt;

工作示例: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;
     }
}

答案 1 :(得分:-1)

问题是你需要一个事件来调用该函数。您应该监视文本框以进行更改,并在值更改时调用该函数。比如使用jquery

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