Я использую следующий JavaScript, чтобы ограничить текстовое поле на моем веб -сайте, чтобы принять только числовой ввод, а также никаких других букв или символов. Проблема в том, что он действительно отвергает все другие входы ключей, такие как ctrl - a выбирать текст, или даже любые другие функции браузера, такие как ctrl - t или ctrl -kbd> wbd> whbd>-kbd>-wbd> whbd> whbd>-wbd> выбран. Кто -нибудь знает о лучшем скрипте, чтобы разрешить только числовой ввод, но не блокировать обычные команды (которые не вводятся непосредственно в поле)? Спасибо
Вот код, который я использую сейчас: < /p>
Код: Выделить всё
function numbersonly(e, decimal)
{
var key;
var keychar;
if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27))
return true;
else if ((("0123456789").indexOf(keychar) > -1))
return true;
else if (decimal && (keychar == "."))
return true;
else
return false;
}
Изменить: ни одно из предоставленных решений не решило мою проблему разрешения такими командами, как ctrl - a во время выбора текстового поля. В этом и был весь смысл моей спрашивающей, поэтому я вернулся к использованию своего оригинального сценария. О, хорошо.
Подробнее здесь:
https://stackoverflow.com/questions/376 ... mbers-only