Я хочу игнорировать определенные символы на моем телефоне, так что в базе данных есть цифры. Я знаю, что могу сделать это легко на стороне сервера (с помощью PHP), но я пытаюсь понять JS события немного лучше .. Мой вопрос заключается в следующем:Игнорирование входных символов при нажатии клавиши
Если у меня есть основной вход:
var phoneInput = document.getElementById("phoneInput");
Я могу добавить слушатель события с помощью «OnKeyDown», который работает отлично
phoneInput.onkeydown = function(e){
var c = String.fromCharCode(e.keyCode);
var patt = /\d/;
if(!patt.test(c)) return false;
};
Но если я пытаюсь делать то же самое с помощью «addEventListener», возвращая ложь, кажется, ничего не делать
phoneInput.addEventListener("keydown",function(e){
var c = String.fromCharCode(e.keyCode);
var patt = /\d/;
if(!patt.test(c)) return false;
});
Я просто не понимаю, почему. Заранее благодарю за любой свет, который вы можете рассказать по этому вопросу.
В каком браузере вы проверяете это? Почему бы вам не использовать 'type =" number "?? [Вам все равно понадобятся браузеры поддержки, у которых нет поддержки.] – epascarello
@epascarello он по-прежнему позволяет использовать текстовые символы, даже если я определяю тип ввода для числа. (Im развивается в firefox, но я считаю, что большинство браузеров совпадают с этим) – dano
Я знаю, но его собственное приложение в относительно небольшой компании (30 сотрудников), поэтому я говорю им не использовать IE с ней. Кроме того, я удаляю ненужные символы в PHP, прежде чем вставлять их в базу данных, но, как я уже сказал, я просто пытаюсь понять, как JS обрабатывает эти вещи. Благодаря! – dano