2014-11-04 94 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);