Как проверить input на пустую строку и как убрать NaN?
Есть генератор случайного числа с двумя input'ами, если вводить в них значение то все хорошо работает, но если поля остались пустыми то выдает NaN, как это исправить или вывести alert('Введите значения') ? Пробовал сделать: else if (min == '') { min = 1 } или else if (min.value == '') { min = 1 } но ничего не работает
let inp1 = document.querySelector('.inp1');
let inp2 = document.querySelector('.inp2');
let out = document.querySelector('.out');
let btn = document.querySelector('.btn');
btn.addEventListener('click', randomNumber);
function randomNumber () {
let min = parseInt(inp1.value);
let max = parseInt(inp2.value);
if (min == max) {
max++;
} else if (min > max) {
max = min + 1;
}
inp1.value = min;
inp2.value = max;
out.innerHTML = Math.floor(Math.random() * (max - min + 1) + min);
}
body {
background-color: #141414;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.wrapper {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.input {
margin: 20px 0;
}
<div class="wrapper">
<div class="out">0</div>
<div class="input">
<input type="number" class="inp1">
<input type="number" class="inp2">
</div>
<button class="btn">Сгенерировать</button>
</div>
Ответы (1 шт):
Автор решения: Rikky
→ Ссылка
Решение заключается в том, что нужно задать значения min и max по умолчанию:
function randomNumber () {
let min = 0; // минимальное значение по умолчанию
let max = 100; // максимальное значение по умолчанию
// меняем значения по умолчанию только тогда, когда input заполнен
if (inp1.value != '') { min = parseInt(inp1.value); }
if (inp2.value != '') { max = parseInt(inp2.value); }
if (min == max) {
max++;
} else if (min > max) {
max = min + 1;
}
inp1.value = min;
inp2.value = max;
out.innerHTML = Math.floor(Math.random() * (max - min + 1) + min);
}