2009-10-14 40 views
78

我有以下代码:检查文本框具有空值

var inp = $("#txt"); 

if(inp.val() != "") 
// do something 

是否有任何其他方式使用变量“INP”

+1

,你应该使用修剪过检查? – 2011-09-23 05:26:16

+2

为什么'inp.val()!='''没有被占用? – 2012-11-29 14:34:57

回答

143
if (inp.val().length > 0) { 
    // do something 
} 

,如果你想什么更复杂,考虑正则表达式或使用validation plugin这需要照顾这对你

+5

在这种情况下,您不需要> 0就我所知道的。如果长度为0,则会像(0)一样,并且条件将失败。 – icarus 2014-08-19 08:57:44

+0

或干脆如果(inp.val()) – ejaenv 2016-02-17 14:45:16

16
if ($("#txt").val().length > 0) 
{ 
    // do something 
} 

您的方法失败时没有检查空的文本框在文本框内有超过1个空格字符。

90
var inp = $("#txt").val(); 
if(jQuery.trim(inp).length > 0) 
{ 
    //do something 
} 

检查之前删除空格。如果用户只输入空格,那么这仍然可以工作。

+3

这是一个完美的解决方案! – 2012-12-11 13:04:35

+1

@Grimmy我喜欢你包含'trim'的事实。这使得这个答案完成。 – MadushM 2013-07-19 19:59:44

+5

为什么不一致?既可以使用'$'或'jQuery',但为什么呢? – user2019515 2014-05-08 15:59:03

6
$('input:text').filter(function() { return this.value.length > 0; }); 
4
if ($("#txt").val().length == 0) 
{ 
    // do something 
} 

我不得不在==添加得到它为我工作,否则就忽略了条件,甚至用空的文本输入。可以帮助别人。

6

使用以下方法来检查,如果文本框为空或有超过1个空格

var name = jQuery.trim($("#ContactUsName").val()); 

if ((name.length == 0)) 
{ 
    Your code 
} 
else 
{ 
    Your code 
} 
+5

是否有一个特别的理由在这个'if'上有两对大括号? – 2014-04-08 15:35:48

2

你也可以使用

$value = $("#txt").val(); 

if($value == "") 
{ 
    //Your Code Here 
} 
else 
{ 
    //Your code 
} 

试试吧。这行得通。

2

的检查可以这样进行:

if (!!inp.val()) { 

} 

,甚至更短:

if (inp.val()) { 

}