Задать вопрос
@olya_097

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

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

и когда число более 1000 - после удаления первого символа с конца - то удаляет сразу 3 цифры ( а не одну цифру)
https://jsfiddle.net/0p74Lmq2/2/
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Raxen
@Raxen
TechLead Frontend Developer, Beeline
Ну NaN это очевидно) Not A Number, что указывает о том, что когда вы удаляете все цифры, в вашем инпуте нет ожидаемого числа, пустая строка в инпуте не является числом, лечится value = value.replace(/\D/, 0);

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

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

Похожие вопросы