首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在javascript文本框的按键事件上启用或禁用按钮

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

Stack Overflow用户
提问于 2011-11-02 17:48:37
回答 2查看 5.8K关注 0票数 0

我创建了一个TextBox:

代码语言:javascript
运行
复制
TextBox ID="TxtUname" onKeyPress="ENABLE_BTN()"

现在我写了一个函数:

代码语言:javascript
运行
复制
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..

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-02 18:08:15

并非所有浏览器都支持onkeypress -> http://www.quirksmode.org/js/keys.html

应使用onkeyup / onkeydown ->

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

HTML:

代码语言:javascript
运行
复制
<input id="TxtUname" value="" onkeydown="ENABLE_BTN()"/><br>
<button id="SSAccept">Some test</button>

Javascript:

代码语言: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
EN

Stack Overflow用户

发布于 2011-11-02 17:55:37

问题是,您需要一个事件来调用该函数。您应该监视textbox的更改,并在值发生更改时调用该函数。例如使用jquery

代码语言:javascript
运行
复制
$("#TxtUname").keydown(function(e) { 
    if($("#TxtUname").val == '') {
        //..disable button..
    } else {
        //..enable button
    }
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7978354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档