2011-09-19 40 views
2

在我做的另一篇文章中,有人解釋說,要檢查文本框和textareas中的空白值,應該使用.val()和$ .trim來檢查空白值。例如,jquery .trim()with textboxes

if($.trim($("#textboxid").val()) == "") { 
    //do something 
} 

有人可以向我解釋爲什麼我們需要在這裏修剪任何東西嗎?文本框中是否有隱藏空格或回車符?

+0

這將取決於你想要達到的目的。不要把這作爲一個經驗法則。 –

+0

我的猜測是該帖子的作者試圖抓住有意輸入空格的用戶,在這種情況下'val()'不會是空字符串,但會修剪它。 –

+0

該示例可能基於用戶可以通過添加空格來僞造條目的事實。因此,不是對空格進行多次檢查,而是刪除它們並檢查空白輸入。如果這就是你想驗證的全部內容,那實際上是一個不錯的主意。 – Seth

回答

1

修剪是這樣的,如果用戶把一個空間,它不會把它看作一個值。使用修整使值
" "變成""

-1

它是應用程序特定的,是否有人想修剪文本框。一般來說,很難看到並因此發現。

2

正如很多事情在JavaScript(和一般的編程),它是所有關於寫作穩健維護代碼。這段代碼更容忍錯誤的用戶輸入。如果用戶在那裏放置一個空間,然後忘記它,他們在視覺上將無法辨別。這將通過檢查您的字段是否僅包含空格來處理該情況。

但是,它可能不適合所有情況!

而且,只要我們談論「穩健性和可維護性」的代碼,一定要使用明確的等效運營商,而不是truthy/falsey測試:

$.trim($("#textboxid").val()) === ""