2017-08-27 107 views
2

好了,所以我有一個HTML輸入元素如何檢查是否輸入是空的使用JavaScript

<input name="name" type="text" id="name" placeholder="Name" /> 

,並在JavaScript我做的:

var ninp = document.getElementById("name"); 
if(ninp.value == ""){ 
    do stuff 
} else{ 
    do other stuff 
} 

每次我運行功能,它激發了「其他」的代碼塊,我做錯了什麼或者這個心不是一個正確的方法:/

+0

的模式應該是'如果(ninp ==「」)'因爲你已經抓住在第一線的'value'。 – Andy

+0

哦,我的任何藉口,這是一個錯誤的帖子被更新現在 – KrisGeor

+0

是整個函數,因爲(https://jsfiddle.net/zjbjxgeL/2/)(它使用的首要條件,而不是[因爲它應該是代碼的工作]第二)。 – Andy

回答

1

在代碼中的第一行,你得到的輸入標籤的價值。所以你有這樣的事情:

ninp = "a string ..."

,所以它是不可能有在第二行類似ninp.value在你的病情。

變化

if(ninp.value == ""){ 
do stuff 
} 

if(ninp == ""){ 
do stuff 
} 
+0

的OP更新的問題。這已不再是這種情況。 – Andy

0

也許別的東西的功能被破壞,但得到的答覆是隻是爲了測試該字符串的長度

var ninpv = ninp.value; 
if(ninpv.lenght == 0;){ 
do stuff 
} 
0

你還可以檢查這樣

var ninp = document.getElementById("name").value; 
if(ninp.length === 0){ 
    do stuff 
} else { 
    do other stuff 
} 
0

你爲什麼不搬到jQuery和寫

var ninp = $('#name'); 
if(ninp.val() =="") 
{ 
//do stuff 
}else 
//otherstuff 

or 
if(ninp.val().length==0) 

而且記住它,如果你正在使用JS形式的外部文件瀏覽器大多不加載更新的js文件。在這種情況下,我主要使用瀏覽器的隱身