Проблема при проверке input на пустое значение
Есть элемент input с классом .test и на нем событие input:
var a;
$('.test').on('input', function() {
a = this.value;
})
Вопрос вот в чем, я строю логику, в которой проверяю, пуст ли input и т.п.
Проблема в том, что если выделить CTRL + A и нажать backspace (стереть), а затем проверить поле на условие:
if (a == '' || a <= 0) {}
то это покажет false, хотя должно показать true.
Как корректно обработать этот недуг?
Ответы (1 шт):
Автор решения: Vasily
→ Ссылка
Для этого достаточно воспользоваться методом trim(), который удалит пробелы вначале и конце строки, а потом "спросить" пустая ли у нас строка:
$(".test").on("input", function() {
const value = this.value.trim()
if (value) {
console.log("not empty")
} else {
console.log("empty")
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input class="test" />