2013-05-26 101 views
1

我在文本框中輸入數字。如何將輸入元素添加到變量

我想知道你是怎麼施放此號碼已聲明的變量:

例如:

<body> 
Please Enter value number 1: <input type = "text" id = "value1"></input>&nbsp; 
<button onclick = "Display()">Display</button> 
<p id = "Paragraph"></p> 

<script> 

的問題是在這裏:

var a = document.getElementById("value1").value; 

上面的語句是什麼我想知道要做什麼。

function Display() 
{ 
document.write(a); 
} 
</script> 
</body> 

我是新來的JavaScript,我努力學習很抱歉,如果這個問題是有點基本的,但IM努力得到這個權利。

+0

什麼不工作?你能指望什麼? –

+1

我聲明的變量(var a)寫入頁面時不顯示任何內容。 –

+0

嘗試刪除'':'Display Display(){document.write(document.getElementById('value1')。value); }' –

回答

4

我猜你的意思是這樣:

function Display() 
{ 
    var a = document.getElementById("value1").value; 

    document.getElementById('Paragraph').innerHTML = a; 
} 

與您的代碼變量a是剛分配,當腳本執行第一時間。它不是指向該值的指針,而只是一次抓取該值。所以如果你想使用它,當點擊按鈕時,你必須把它放到執行的函數中。

請勿使用document.write()這樣。如果你想在運行時顯示一些東西innerHTML是一個更好的選擇!

+0

爲什麼不將'this'傳入函數,然後用'previousSibling'遍歷輸入元素?爲什麼當按鈕和輸入是兄弟時查詢整個頁面? –

+0

@ŠimeVidas從OP代碼中顯示的經驗水平來看,我想這是更爲明顯的原因。此外,當我不需要時,我不喜歡依賴結構信息(這可能會很容易改變)。最後,通過ID獲取元素與性能相當便宜,所以沒有錯。 – Sirko

4

分配a自己的函數中:

function Display() 
{ 
    var a = document.getElementById("value1").value; 
    console.log(a); 
} 

此外,<input />標籤不需要關閉</input>標籤。

+0

非常有用非常感謝你 –

+0

除非你正在編寫XHTML,否則它們在標籤中的關閉'>'之前也不應該有'/'。 – RobG