繁体   English   中英

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

[英]how to enable or disable a button on keypress event of a textbox in javascript

我创建了一个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>

但是仍然无法在按下文本框中的任何键时启用禁用的按钮。 谁能告诉我我做错了吗? 提前致谢

开发人员

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;
     }
}

问题是您需要一个事件来调用该函数。 您应该监视文本框的更改,并在值更改时调用该函数。 就像使用jQuery

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM