У меня есть куча количество входов HTML, и я схватил ихJavascript не может применить существующую функцию OnKeyUp
x=document.querySelectorAll('input[type="number"]');
Я затем попытаться перебирать это с для цикла, и применять функция onkeyup. Функция заключается в следующем:
t=function(elem){
elem.onkeyup=function(e) {
if(!/[\d\.]/.test(String.fromCharCode(e.which))) {
elem.value='';
}
};
};
В принципе, то, что она делает, это ясно значение ввода, если есть письмо напечатал я знаю, я могу применить его с помощью HTML
<input type='number' onkeyup='t(this)'/>
Но как может. Я делаю это с помощью javascript? Я пробовал перебирать его с помощью
x=document.querySelectorAll('input[type="number"]');
for(i=0; i<x.length; i++){
x[i].onkeyup=t(this);
}
но он не работает. Что я делаю не так? Как я могу это сделать? Пожалуйста, используйте только обычные ответы на JavaScript, нет jQuery или других фреймворков/библиотек.
Кстати, Thi s создает очень плохой опыт пользовательского интерфейса, и пользователи могут по-прежнему вводить нецифровые символы путем копирования и вставки или перетаскивания. Лучше проверить результат, когда они закончат ввод данных и сообщают об ошибках, а не пытаются выдумать пользователя. – RobG
посмотреть на события 'input', чтобы заменить' keyup' – dandavis