Как я могу вводить только цифры в TextBox, используя JavaScript без отключения правой кнопки мыши? - PullRequest
0 голосов
/ 31 мая 2010

Я хочу разрешить использование чисел только для текстового поля, и я уже делаю это на событии onkeydown, разрешая только цифры и предотвращая Ctrl + V, но у меня есть две проблемы:

  1. если я сделаю щелчок правой кнопкой мыши, вставьте, чтобы можно было ввести любой символ, и я хочу найти решение без отключения правой кнопки мыши, нажав oncontextmenu="return false;"

  2. если я перетаскиваю любой текст, он будет введен

Есть ли какое-нибудь решение, которое может работать во всех браузерах без проблем?

Ответы [ 3 ]

1 голос
/ 31 мая 2010

Просто отфильтруйте нечисловые символы в событии onchange вашего текстового поля и установите его обратно в текстовое поле.

0 голосов
/ 08 декабря 2015

Я недавно использовал jquery для этого. Вот код Включите ваш файл jquery в ваш HTML.

<script type="text/javascript" src="js/vendor/jquery.validate.min.js"></script>

Включите этот скрипт в ваш HTML.

<script>
$('#phoneNum').keypress(function(e) {
    var a = [];
    var k = e.which;

    for (i = 48; i < 58; i++)
        a.push(i);

    if (!(a.indexOf(k)>=0))
    {
        if(k != 45){
            e.preventDefault();
        }
    }
});
</script>

Вот как будет выглядеть ваш вклад. phoneNume - это идентификатор.

<input type="tel" id="phoneNum" />
0 голосов
/ 24 июня 2010

Вы можете использовать onpaste событие. Вы сможете ловить каждый раз, когда что-то вставлено.
Вы можете обратиться к ответу Энди относительно onpaste события.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...