0

我希望我的 JQuery 代码只接受文本字段中的数字作为输入,这段代码对我来说效果很好,但很快发现如果我在小键盘中使用数字,它就不起作用。对于这个问题的家伙有什么建议吗?

这是我的代码:

<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>
4

2 回答 2

0

工作样本

HTML

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

Javascript

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;
}
于 2013-09-03T09:06:49.887 回答
0

不检查按下了哪个键,而是给出了哪个内容,如果内容是否只有数字会更容易检查,并且会阻止许多其他事情,例如使用字母复制和粘贴(我猜这个在你给定的代码也是)

于 2013-09-03T09:02:35.263 回答