2012-11-08 88 views
0

我有這個if語句可以在兩個不同的頁面上工作,但是這兩個頁面都有一個不同名稱的字段,所以我必須在我的If語句中使用OR,但它不起作用。這裏是我的代碼...爲什麼不是這個JQuery如果和或聲明工作?

if ($("#searchValue").val().length > 100 || $("#txtSearch").val().length > 100) { 
} 

爲什麼我調試,它說:「未捕獲的類型錯誤:無法讀取屬性未定義的‘長’」。
這是因爲其中一個屬性ID在頁面上不存在或是什麼?我如何解決這個問題?
謝謝

回答

2

val返回undefined當jQuery集合爲空時。如果你一定要具有完全相同的兩場之一

var s1 = $("#searchValue").val(); 
    var s2 = $("#txtSearch").val(); 
    if ((s1 && s1.length>100) || (s2 && s2.length>100)) { 

另一種解決方案:

if ($("#searchValue, #txtSearch").val().length>100) { 
+0

哦,那麼我該如何解決這個問題,或者我是否需要另一個if語句來檢查它們是否爲空? – Ben

+0

非常感謝這工作很好:) – Ben

1

將其更改爲

if (($("#searchValue").val()!=null && $("#searchValue").val().length > 100) || ($("#txtSearch").val()!=null && $("#txtSearch").val().length > 100)) { 
} 

代替

你可以這樣做的

if ($("#searchValue").val().length > 100 || $("#txtSearch").val().length > 100) { 
}