2014-11-04 66 views
1

请您为我的Javascript代码提供一些简短的帮助。我有一个隐藏DIV元素只是如果它是完全空(无文本)一个输入字段:通过一个输入字段隐藏其他元素 - Javascript

if (search_value !== "") { 
    document.getElementById("frei").className = "frei1"; 
    } 

这不正是我想要的,主要的问题是,一旦输入字段被激活,由内而外打字,当我开始删除文本,直到输入为空,即使输入不包含文本(因为我已将其删除),我的隐藏DIV也会出现。这个函数只适用于第一次加载页面,比输入任何内容并删除它时,我的javasript代码不是函数式的。

请你能给我一个建议如何像Javasript代码,它隐藏DIV每次输入字段不包含文本?即使手动删除文本?

非常感谢,并为这类问题表示歉意。 Iam在基本的Javascript中不够强大。

+0

更准确地说:在CSS ID中frei是可见的,ID frei1有display:none; – scree 2014-11-04 12:50:10

+0

onkeyup事件你可能需要 – 2014-11-04 12:50:38

回答

1

该代码将只执行在页面加载,但你希望它运行每次有人类型到您的输入,这样做,你可以使用onkeyup事件:

document.getElementById("yourInput").onkeyup = function() { 
    if (this.value !== "") { 
     document.getElementById("frei").className = "frei1"; 
    } 
    else { 
     document.getElementById("frei").className = ""; 
    } 
}; 

DEMO

如果你还需要它然而,在页面加载藏汉运行,提取出来给一个函数,然后你可以调用在页面加载的功能,以及:

function setDisplay() { 
    if (document.getElementById("yourInput").value !== "") { 
     document.getElementById("frei").className = "frei1"; 
    } 
    else { 
     document.getElementById("frei").className = ""; 
    } 
} 

然后把它在页面加载:

setDisplay();

然后也将其连接到onkeyup事件就像我们在第一时间做的事:

document.getElementById("yourInput").onkeyup = setDisplay; 
+0

你能告诉我这里的价值?? ..是它的窗口?或点击elEment的价值? – 2014-11-04 12:55:22

+0

@AvinashBabu这个函数是指输入。 – mattytommo 2014-11-04 12:59:37

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); 
相关问题