2009-10-14 63 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()) { 

}