2013-03-29 71 views
0

這是我用來輸入文本值獲得之前的jQuery 1.9.1正確方法1.9.1

<input type="text" id="input_text_Id" 

... 

$("#input_text_Id").attr('value') 

它不再工作時,我升級我的jQuery版本1.9.1,顯然它已被棄用。

我的其他選擇是什麼?

我也很好奇,是什麼原因jQuery的創造者保持去除沒有任何問題的工作特點是什麼?我假設安全漏洞可能是其中之一。

+1

http://api.jquery.com/val – Blazemonger

回答

3

不應該了以下工作:

$("#input_text_Id").val(); 

這就是我一直使用。

這裏的documentation on val()

+0

對於一些未知的原因,事實並非如此。它引發一個未定義的錯誤。 – l46kok

+0

@ l46kok:發佈完整的錯誤消息。 – Blender

+0

您是否關閉了您的'輸入'元素或是您的問題代碼只是一個快速而髒的複製和粘貼?什麼是完整的錯誤信息? – SomeShinyObject

1

attr("value")(和本地getAttribute("value"))返回屬性

val()(和原生value)返回財產

這裏最重要的區別是,屬性是本質上是「默認值」,而房地產是當前一個。

Here是一個演示。

0

如果您在輸入元素的當前值之後。然後只使用.val()

$("#input_text_Id").val(); 

.attr('value')返回value屬性的值(當你鍵入文本不改變),而不是.value屬性(不改變)。

Type in this textbox,並期待在您的控制檯明白我的意思。

0

$('#input_text_Id').val();

至於爲什麼jQuery團隊選擇刪除您習慣使用的方法,我不知道。我懷疑這個方法是關閉的,因爲從輸入中獲取值並不是真正從它的「value」屬性派生的。我相信獲取輸入的實際值是從DOM中輸入的「value」屬性中提取的。