首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Javascript过滤和忽略输入字段上的按键?

如何使用Javascript过滤和忽略输入字段上的按键?
EN

Stack Overflow用户
提问于 2014-04-15 22:11:41
回答 3查看 467关注 0票数 0

当达到长度限制时,我需要停止接受HTML表单输入字段上的输入(击键)。在直截了当的HTML中,我可以使用maxlength="3"或任何长度来完成这个任务,但是如果可能的话,我想通过Javascript来处理它,这样我就可以和下一个需求一起处理了。

我还需要过滤输入,以便如果一个字段是数字,那么只能输入数字,如果有掩码或正则表达式,任何输入都符合掩码/正则表达式。

在Javascript中,特别是在Dojo1.9中,有没有一种“标准”的方法来做到这一点?(我知道每个人都使用JQuery,但我们使用Dojo是因为。)

EN

Stack Overflow用户

发布于 2014-04-15 22:59:29

我使用纯Javascript是因为我不熟悉Dojo,但是这些事件侦听器可能可以用Dojo清理。

代码语言:javascript
复制
var input = document.getElementsByTagName('input')[0],
    error = document.getElementById('error');

input.addEventListener('keypress', function(e) {
    if(e.which < 48 || e.which > 57) {
        e.preventDefault();
        error.innerHTML = 'Must be a digit';
    } else if(e.target.value.length >= 3) {
        e.preventDefault();
        error.innerHTML = 'Cannot be more than 3 digits';        
    } else {
        error.innerHTML = '';
    }
});

我们听一个按键,然后,为了确保它是一个数字,我们寻求按下的键在48-57 (0-9)之间。如果没有,则防止按下键并显示错误。然后我们检查输入的当前长度。如果太长,则防止按下键并显示错误。否则,它就起作用了,我们允许事件并清除错误。

票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23095487

复制
相关文章

相似问题

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