Я использую следующий Javascript, чтобы ограничить текстовое поле на моем веб-сайте только принятием цифрового ввода, а также никаких других букв или символов. Проблема заключается в том, что он ДЕЙСТВИТЕЛЬНО отклоняет все другие входы клавиш, например ctrl - A, чтобы выбрать текст или любые другие функции браузера, такие как ctrl - T или ctrl - W, в то время как текст. Кто-нибудь знает о лучшем script, чтобы разрешить только числовой ввод, но не блокировать обычные команды (которые непосредственно не вводятся в поле)? благодаря Вот код, который я использую сейчас:
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, когда выбрано текстовое поле. В этом весь смысл моего запроса здесь, поэтому я вернулся к использованию моего оригинального script. О, хорошо.