请问我能否为我的Javascript代码提供一些简短的帮助。我有一个输入字段,它隐藏DIV元素,只要它完全为空(没有文本):
if (search_value !== "") {
document.getElementById("frei").className = "frei1";
}
它完全符合我的要求,主要问题是一旦输入字段被激活,当我开始擦除文本时,直到输入为空,比我隐藏的DIV出现,即使输入不包含文本(因为我删除了它)。这个函数仅在第一页加载时很好,比我在输入中输入任何内容并擦除它时,我的javasript代码不是函数。
请你给我一个建议看起来像Javasript代码,它隐藏DIV每次输入字段不包含文字?即使文本被手动删除了?
非常感谢,并为此类问题道歉。在基本的Javascript中我不强。
答案 0 :(得分:1)
该代码仅在页面加载时执行,但您希望每次有人输入您的输入时运行该代码,为此您可以使用onkeyup
事件:
document.getElementById("yourInput").onkeyup = function () {
if (this.value !== "") {
document.getElementById("frei").className = "frei1";
}
else {
document.getElementById("frei").className = "";
}
};
如果您还需要它在页面加载上运行,请将其解压缩到一个函数,然后您也可以在页面加载时调用该函数:
function setDisplay() {
if (document.getElementById("yourInput").value !== "") {
document.getElementById("frei").className = "frei1";
}
else {
document.getElementById("frei").className = "";
}
}
然后在页面加载时调用它:
setDisplay();
然后还将它附加到onkeyup
事件,就像我们在第一个实例中所做的那样:
document.getElementById("yourInput").onkeyup = setDisplay;
答案 1 :(得分:0)
document.getElementById("id").oninput = function() {
if (this.value !== "") {
document.getElementById("frei").className = "frei1";
}
}
或
document.getElementById("id").addEventListener('input',function() {
if (this.value !== "") {
document.getElementById("frei").className = "frei1";
}
}, false);