btn.addEventListener("click", (e) => {
e.preventDefault();
table.innerHTML = "";
let from = document.querySelector(".from").value;
let to = document.querySelector(".to").value;
if(from === '' && to === ''){
error.textContent = 'Нет данных, попадающих под условие фильтра';
return;
}else {
fetch(url)
.then((response) => {
return response.json();
})
.then((data) => {
data.forEach((item) =>{
if(from != '' && to != '' && item.price >= +from && item.price <= to){
var tr = document.createElement('tr');
tr.innerHTML =
'<td>' + item.name + '</td>' +
'<td>' + item.quantity + '</td>' +
'<td>' + item.price + '</td>' +
'<td>' + item.quantity * item.price + '</td>';
table.appendChild(tr);
return;
}
// else if(to != '' && item.price <= to){
// var tr = document.createElement('tr');
// tr.innerHTML =
// '<td>' + item.name + '</td>' +
// '<td>' + item.quantity + '</td>' +
// '<td>' + item.price + '</td>' +
// '<td>' + item.quantity * item.price + '</td>';
// table.appendChild(tr);
// return;
// }
// else if( from != '' && item.price >= from){
// var tr = document.createElement('tr');
// tr.innerHTML =
// '<td>' + item.name + '</td>' +
// '<td>' + item.quantity + '</td>' +
// '<td>' + item.price + '</td>' +
// '<td>' + item.quantity * item.price + '</td>';
// table.appendChild(tr);
// return;
// }
})
});
}
});
let from = document.querySelector(".from").value.trim();
let to = document.querySelector(".to").value.trim();
Во-вторых, нужно учесть, что данные инпутов - всегда строковые. Т.к. судя по коду вы ожидаете числовые значения, то данные можно сразу преобразовывать к этому типу:let from = +document.querySelector(".from").value.trim();
let to = +document.querySelector(".to").value.trim();
// Можно так же использовать методы parseInt() или parseFloat()
В итоге, проверка будет такой:if (!form && !to) {
error.textContent = 'Нет данных, попадающих под условие фильтра';
}