2011-06-07 96 views
1

我有一個div,其中包含一個文本輸入框:爲什麼我無法獲得此文本輸入字段的值?

<div id="age" class="fullScreen"> 
    <input type="text" id="age" class="textInput" placeholder="Please enter age..." /> 
    <button type="button" onclick="submitAge()">Submit</button> 
</div> 

submitAge()看起來是這樣的:

function submitAge() { 
    var ageVal = document.getElementById("age").text; 
    alert(ageVal); 
} 

但在谷歌瀏覽器和Webkit每晚我看到一個警報文本「未定義「(我無法在任何其他瀏覽器中測試,因爲該頁面包含Web-sockets)。

Chrome開發人員工具顯示此:

ageVal: undefined

我認爲這個問題是輸入不是一個形式,但我不希望它是這樣的形式,因爲我會通過websockets提交數據。

我必須將它放在表單中還是有更好的解決方案?

謝謝。

+0

你有2個ID爲HTML元素= – 2011-06-07 20:11:47

+1

年齡不會發布,因爲你有你的兩個問題其他答案之間的另一個答案,但是#1你不能有更多的比具有相同ID的一個元素,行爲是未定義的。 #2你需要'價值'而不是'文字' – Davy8 2011-06-07 20:13:46

回答

6

你已經重新定義了id「age」。重命名你的div或輸入,你應該沒問題。

+0

非常感謝! <3 – Envil 2016-11-08 12:13:41

1
var ageVal = document.getElementById('age').value; 

alert(ageVal) 

注意.value的,而不是文本

+0

仍然無法正常工作......我已經嘗試過了,只是試了一遍。 – JJJollyjim 2011-06-07 20:11:11

+0

嗡嗡聲我猜你現在已經注意到錯誤是雙ID號碼 – Ibu 2011-06-07 21:46:22

1

變化:

var ageVal = document.getElementById("age").text; 

var ageVal = document.getElementById("age").value; 
1

嘗試

document.getDocumentById("age").value; 
1

<div>有年齡的id。這將返回div或HTMLElements數組。獲取唯一輸入的id,你將成爲黃金

4

嘗試:

function submitAge() { 
    var ageVal = document.getElementById("age").value; 
    alert(ageVal); 
} 
相關問題