简体   繁体   English

jQuery文本字段仅接受数字作为输入,这很好用,但是当我使用数字键盘时,它不起作用

[英]JQuery textfield only accepts numbers as input, this works well but when I use my numpad it does not work

I want my JQuery code to only accept numbers as input in the textfield, this code is working well for me but soon discovered that if I used the numbers in my numpad it does not work. 我希望我的JQuery代码只接受数字作为文本字段中的输入,此代码对我来说效果很好,但是很快发现,如果我在数字键盘上使用数字,则该代码将不起作用。 Any suggestions for this problem guys? 对这个问题有什么建议吗?

Here is my code: 这是我的代码:

<script type="text/javascript">
    $(".txtboxToFilterNum").keydown(function(event) {

        if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 0 || event.keyCode == 13 || event.keyCode == 27) {
            // let it happen, don't do anything
        }
        else {
            // Ensure that it is a NUMBER and stop the keypress
            if (event.keyCode < 48 || event.keyCode > 57 ) {
                event.preventDefault(); 
            }   
        }
});
</script>

不要检查按下了哪个键,而是给出了哪个内容,这将更容易检查内容是否仅是数字,并且可以防止许多其他事情,例如使用带字母的复制和粘贴(我猜这不是在您指定的代码也是如此)

working sample 工作样本

HTML 的HTML

<input type="text" class="textfield" value="" id="extra7" name="extra7" onkeypress="return isNumber(event)" />

Javascript Java脚本

function isNumber(evt) {
    evt = (evt) ? evt : window.event;
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    return true;
}

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

相关问题 仅接受数字的 Vue 输入 - Vue input that accepts only numbers 为什么我的代码只能在html中工作,而在将其放入Javascript页面时却不能工作? - Why does my code only works in html but does not work when I put it into a Javascript page? 如何创建一个键盘事件,让我只使用退格键和数字(在键盘和小键盘之上)? - How do I create a keyboard event that lets me only use the backspace and numbers (on top of keyboard and numpad)? jQuery-如何允许数字键盘和数字键行输入; 以及防止输入特殊字符? - jQuery - How can I allow both numpad and number key row input; as well as prevent special characters from being entered? 当我使用input type =“ button”时,功能很好,但是当我使用button时,它没有 - When I use input type=“button” a function works well but when I use button it doesn`t jQuery-数字格式仅在我单击输入框时有效 - Jquery - Number formatting only works when I click in the input box 输入如何仅接受 HEX 数字 - How input accepts only HEX numbers 仅在jQuery中输入数字 - Input numbers only in jquery jquery / JS只允许文本字段中的数字和字母 - jquery / JS allow only numbers & letters in a textfield AngularJS <input [type=file]> ng-model在Firefox / Safari / Chrome中不起作用,但在IE中效果很好 - AngularJS <input [type=file]> ng-model does not work in Firefox/Safari/Chrome but works well in IE
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM