Правильно назначить функцию-обработчик.
Как назначить для этого INPUT:
<INPUT type="text" id = "up" > вот эту функцию? function filter_input(e, regexp) { alert (e); e= e || window.event; var target=e.target || e.srcElement; var code = e.charCode || e.keyCode; if (code<32 || e.ctrlKey || e.altKey) return; var text=String.fromCharCode(code); if (!regexp.test(text)) { if (e.preventDefault) e.preventDefault(); if (e.returnValue) e.returnValue = false; return false; }; return true; } Пробовал в FF так: if (document.getElementById("up").addEventListener) document.getElementById("up").addEventListener("keypress", filter_input(event, /\d/), false); Так: window.onload = function() { document.getElementById("up").onkeypress = function( ){filter_input(event, /\d/);}; } но в обои случаях передача event первым аргументом вызывает ошибку. Зато вот так все работает отлично: <INPUT type="text" id = "up" onkeypress="return filter_input(event,/\d/)" > С чем это связано? |
Ramundo,
<INPUT type="text" id = "up" > <script> function filter_input(e, regexp) { // alert (e); e= e || window.event; var target=e.target || e.srcElement; var code = e.charCode || e.keyCode; if (code<32 || e.ctrlKey || e.altKey) return; var text=String.fromCharCode(code); if (!regexp.test(text)) { if (e.preventDefault) e.preventDefault(); if (e.returnValue) e.returnValue = false; return false; }; return true; } document.getElementById("up").addEventListener("keypress", function(event){return filter_input(event, /\d/)}, false); </script> |
Спасибо! ########
Только блин "Вы должны добавить отзыв кому-то ещё, прежде чем сможете снова добавить его рони."(
|
Часовой пояс GMT +3, время: 03:18. |