не удаляется введеное значение input при нажатии backspace проблема с маской?
<input value="1" name="length" class="input-lengtharray form-control" type="text" data-min="1" data-max="12" placeholder="от 1 до 12"> $('body').on('input', '.input-lengtharray', function(){ var value = this.value.replace(/[^0-9\.]/g, ''); if (value < $(this).data('min')) { this.value = $(this).data('min'); } else if (value > $(this).data('max')) { this.value = $(this).data('max'); } else { this.value = value; } }); вот такой код, разрешает вводить только от 1 и до 12. по умолчанию стоит value="1" в html так вот странное поведение при вводе 1 - не получается удалить можно только курсором выделить эту 1 и тогда на ее место записать другое число от 1 до 12 с символом точка. Как будто вот этот код var value = this.value.replace(/[^0-9\.]/g, ''); не разрешает нажатие кнопки backspace |
хотя тут срабатывает строка
this.value = $(this).data('min'); получается что когда 1 удаляю то сразу она возвращается. если эту строку закомментировать тогда удаляется 1 но можно ввести 0.5 например. а как не допустить ввода меньше 1 но при этом можно было бы удалять это число перед вводом. |
Цитата:
|
Используй https://github.com/RobinHerbots/Inputmask .
Всё остальное - полумеры и вечные неудобства. |
Цитата:
спасибо, так просто оказалось. я уже тут час всякие условия и проверки пишу с задержками.... :lol: вообще не туда понесло. |
Я вообще не понимаю, как это работает.
Как там можно ввести числа от 2 до 9. Они же сразу на 12 заменятся. Там же же сравниваются строки. |
Часовой пояс GMT +3, время: 04:04. |