Javascript 如果输入搜索框为空,则取消功能

Javascript 如果输入搜索框为空,则取消功能,javascript,search-box,Javascript,Search Box,我有以下代码: 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

我有以下代码:

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');
}

}

因此,如果验证失败,只需更改
占位符属性即可

对于jquery,是
$(您的选择器).attr(“占位符”,“在此处键入名称…”


函数validateForm(){
var x=document.forms[“myForm”][“fname”].value;
如果(x==“”| | x==null){
document.getElementById(“searchbox”).placeholder=“在此处键入名称…”;
返回false;
}
}
姓名:

先生,如果输入为空,是否要更改搜索框的占位符


另外,最好更改
有很多方法可以做到这一点。一种方法是在提交表单时验证输入字段。这似乎就是你想要的

我使用的方法是将
字段放在
元素中,并调用函数
checkForm
来验证它是否为空,如果它不为空,您可以在那里调用您的
buscar
函数


什么时候应该验证它是否为空?嗨,@mdomfu,欢迎使用SO。到目前为止,您尝试了什么?当单击button id=“searchinput”时,我尝试了此操作,但没有成功:代码已更新,无法工作…谢谢,但我需要将其改编为div中的代码谢谢,但无法工作。我需要的是,如果单击搜索按钮时输入框为空,则执行占位符更改。如果它为空,请更改它,如果包含要搜索的数据,请运行函数buscar(),让我澄清一下。您需要一个“验证函数”来确定搜索框是否为空。如果搜索框不是空的,您想调用buscar()?是的,这可以是另一个选项。要验证的函数需要是change de placeholder。@mdomfu我更新了代码,添加了要验证的函数。
        <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>
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;
}