@olya_097

Как убрать ошибки?

После того как в инпуте удалила всё цифры - показывается NaN

и когда число более 1000 - после удаления первого символа с конца - то удаляет сразу 3 цифры ( а не одну цифру)
https://jsfiddle.net/0p74Lmq2/2/
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
Raxen
@Raxen
Lead Frontend Developer, Beeline
Ну NaN это очевидно) Not A Number, что указывает о том, что когда вы удаляете все цифры, в вашем инпуте нет ожидаемого числа, пустая строка в инпуте не является числом, лечится value = value.replace(/\D/, 0);

А удаление - когда вы вводите число в инпут ручками у вас не применяется форматирование, и там остается число, что позволяет легко удалить последний символ у любого числа, когда вы дергаете ползунок, ваши числа магическим образом (нет) становятся строкой вида '1 000', соответственно парсер( parseInt(el.value) ) парсит строку и получает 1 (введите в консоли parseInt('1 000') например), парсер отсекает все после пробела, т.е. по факту он убирает все после символа, который невозможно сделать числом
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы