У меня есть этот код:
function buscar() {
var input, filter, table, tr, td, i;
input = document.getElementById("searchinput");
filter = accent_fold(input.value).toUpperCase();
table = document.getElementById("CSVTable");
tr = table.getElementsByTagName("tr");
var matching = false;
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[3];
if (td) {
if (accent_fold(td.innerHTML).toUpperCase().indexOf(filter) > -1) {
matching = true;
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
if (matching) {
$('#CSVTable').css('display', 'block');
$('#no-results').css('display', 'none');
} else {
$('#CSVTable').css('display', 'none');
$('#no-results').css('display', 'block');
}
}
Связано с этим
<div id="buscador">
<input type="text" id="searchinput" onsearch="buscar()" placeholder="Cercar per cognom"/>
<span class="buscador-btn">
<button class="btns" type="submit" id="searchbutton" onclick="buscar(); showDiv();">
<span style="font-size: 15px; color: White;">
<i class="fa fa-search"></i>
</span><b>Cercar</b>
</button>
<button class="btnc" onclick="document.getElementById('searchinput').value = '' ; hideDiv();">
<span style="font-size: 15px; color: Red;">
<i class="fa fa-times"></i>
</span><b>Esborrar</b>
</button>
</span>
</div>
Как реализовать скрипт, который, если, при нажатии на кнопку поиска и поисковый ввод пуст, измените свой собственный placeholder=""
, чтобы предупредить, что для поиска не введен текст? Если нет, продолжите поиск сценария.
Спасибо
КОД ОБНОВЛЕНО НА ЭТОМ. Работает, но возвращает false, сценарий не останавливается:
var input = document.getElementById ("searchinput"); if (input.value.trim (). length) {
var input, filter, table, tr, td, i;
input = document.getElementById("searchinput");
filter = accent_fold(input.value).toUpperCase();
table = document.getElementById("CSVTable");
tr = table.getElementsByTagName("tr");
var matching = false;
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td")[3];
if (td) {
if (accent_fold(td.innerHTML).toUpperCase().indexOf(filter) > -1) {
matching = true;
tr[i].style.display = "";
} else {
tr[i].style.display = "none";
}
}
}
if (matching) {
$('#CSVTable').css('display', 'block');
$('#no-results').css('display', 'none');
} else {
$('#CSVTable').css('display', 'none');
$('#no-results').css('display', 'block');
}
}else{
input.placeholder="vacío";
return false;
}
}