2017-08-27 104 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文件。在这种情况下,我主要使用浏览器的隐身