2011-04-20 124 views
1

我似乎在將輸入框的值傳遞給javascript中的其他任何東西時遇到問題。 它不會產生任何錯誤 - 而且我記得在某個地方閱讀,如果文檔尚未完成加載,您可能會遇到問題 - 但我非常肯定它有!JavaScript沒有得到輸入框的值

有問題的代碼是在JavaScript如下:

var address = getElementById(addyInput).value; 
document.getElementById('add').innerHTML = address; 

而在HTML

<form> 
<input name="addyInput" placeholder="Don't forget postcode!"> 
</form> 

<button id="start" onclick="initialize()">Start!</button> 

<p>Address Test 
<div id="add"></div> 
</p> 

我知道按鈕本身工作,因爲它激發我的代碼罰款休息沒有違規的代碼 - 但是當我取消註釋頂部的那個小塊時,它什麼都不做。 (沒有錯誤等)

任何幫助,這將是熱!謝謝:)

更新:

我現在有它的工作!非常感謝所有的幫助!

回答

3

你的表單需要看起來像這樣(加一個id屬性):

<form> 
<input id="addyInput" name="addyInput" placeholder="Don't forget postcode!"> 
</form> 

和JavaScript的第一線需要看起來像這樣(因爲getElementById期待一個ID而不是名稱)。

var address = getElementById('addyInput').value; 

此外,getElementById預計ID參數是一個字符串(因此引號)。如果您通過addyInput而不加引號,它會嘗試將addyInput解釋爲具有未定義值的變量,並且不會返回所需的DOM元素。


或者,如果你使用jQuery,你可以離開的形式標記原樣,改變Javascript來此:

var address = $('input[name=addyInput]').val(); 
+0

謝謝:)我最初曾經指定過一個ID,但作爲一個實驗嘗試添加一個名字 - 必須刪除錯誤的一個O_O不能相信我錯過了!仍然沒有工作,但:( – AltheFuzz 2011-04-20 15:51:25

2

請務必在輸入上指定並輸入id。你只有一個name

0

您需要將id「addyInput」添加到您的表單輸入中,而不僅僅是名稱。

0

的getElementById需要一個字符串。

var address = getElementById('addyInput').value;

如果你把這個直接進入頭部的腳本部分,那麼你會因爲頁面沒有完全加載,但已執行的代碼有問題。

當然,你應該爲輸入元素定義一個id,就像別人已經說過的一樣。

+0

好吧我已經這樣做,但我仍然沒有得到任何東西 - 所以我怎麼能解決頁面的問題沒有被完全加載?我必須把代碼放在實際頁面的某個地方(比如也許onclick按鈕或什麼?)謝謝! – AltheFuzz 2011-04-20 15:49:10

+0

對不起,抓到了答覆 - 我有它的工作,但現在有一個小故障 - 我有它的設置,所以它傳遞的文本框的值作爲參數時,按鈕被點擊 - 我有一個警報設置爲測試,並且它填充DIV就像在頂部 - 問題是它給了我警報的正確值,但DIV只是顯示[對象對象] – AltheFuzz 2011-04-20 16:03:09

-1

你得到的是一個數組,你需要將你的數組讀入一些可讀的數據。嘗試是這樣的:

  • $value = array_shift($yourarray);

,或者如果它是一個多值數組你可以循環它取出來的值。

+0

問題與php無關。 – KebdnK 2017-03-26 20:35:18