Я пытаюсь подтвердить ввод пользователя в поле ввода текста.
Я написал функцию javascript для той же цели, которая запускает событие onkeyup
.
Цель состоит в том, чтобы разрешить ввод данных пользователем только в том случае, если числовое значение меньше 100
и имеет самое большее 1
десятичное место.
Функция работает нормально, но если ввести недопустимый символ, скажем 'a'
, он будет мигать в поле ввода перед удалением.
Я хочу, чтобы, если введенный символ нарушал заданное условие, он не должен отображаться в поле ввода (поскольку он мигает в течение доли секунды).
Вот мой код:
function validatePercent(event) {
var txt = $("#tds_input").val();
// alert(event.source);
if (!parseInt(txt)) {
$("#tds_input").val('');
}
if (isNaN(txt / 1)) {
txt = txt.substr(0, txt.length - 1);
$("#tds_input").val(txt);
}
if (txt > 100) {
//alert(2);
txt = txt.toString();
txt = txt.substr(0, txt.length - 1);
$("#tds_input").val(txt);
}
txt = txt.toString();
if (txt.indexOf('.') > -1) {
if (txt.substr(txt.indexOf('.') + 1, txt.length).length > 1) {
txt = txt.substr(0, txt.length - 1);
$("#tds_input").val(txt);
}
}
}