我想知道以下是如何給我麻煩,它看起來很直接,但我不知道發生了什麼。JavaScript沒有得到價值
所以我有一個輸入框,我想用戶填寫了,我每次運行時以下
我拿到身份不明,我不知道爲什麼。使用下面的JavaScript
var price = document.getElementsByName("price")
alert(price.value);
我想知道以下是如何給我麻煩,它看起來很直接,但我不知道發生了什麼。JavaScript沒有得到價值
所以我有一個輸入框,我想用戶填寫了,我每次運行時以下
我拿到身份不明,我不知道爲什麼。使用下面的JavaScript
var price = document.getElementsByName("price")
alert(price.value);
var price = document.getElementsByName("price")[0]; alert(price.value);
<input type="numbers" name="price" class="sell" placeholder="$0.00">
上午document.getElementsByName會給你的HTMLCollection(類型的數組)作爲返回類型。這是因爲你的dom中的許多元素可能會有相同的名稱。因此,如果您有多個具有相同名稱的複選框,則可以使用數組索引來引用每個複選框。
返回類型不是數組,它是一個HTMLCollection。 – Quentin 2012-07-18 10:20:59
感謝昆汀澄清 – 2012-07-18 10:22:27
你有幾個問題。
引起你的問題的是getElementsByName
返回一個HTMLCollection(它就像一個數組),而不是一個單一的元素。在嘗試訪問其屬性之前,您需要關閉第一個項目。
var price = document.getElementsByName("price")[0];
二,numbers
它不是一種輸入類型。 number
(singular)是。第三,如果您舉例$0.00
,那麼您要通知人們您希望他們鍵入一個以$
開頭的值。您不能在號碼中登錄$
。
+1,以便發現我錯過的所有細微問題;)。 – Matt 2012-07-18 10:18:10
是的,我知道一個,我們刪除$後,用戶鐘錶鏈接,我們把$ 100.00轉換成美元10000 – RussellHarrower 2012-07-19 13:44:52
@RussellHarrower - 如果你有一個'type =「number」'(並且瀏覽器支持它),那麼瀏覽器**不會允許用戶輸入$字符**,所以佔位符數據不應該建議他們應該。 – Quentin 2012-07-19 13:48:11
保持使用'document.getElementById(「id」)''的習慣。請參閱[這裏](http://www.w3schools.com/jsref/met_doc_getelementbyid.asp) – 2012-07-18 10:30:26