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