2016-08-17 80 views
1

我學習到Java腳本,並嘗試運行這段代碼的用戶在輸入文本輸入任何值,然後輸入的數據在「P」標籤,但是當得到打印我使用的調試,看看那裏的代碼出了錯它彈出我與以下錯誤JavaScript錯誤無法從<input>標籤獲取輸入

Uncaught TypeError: Cannot read property 'value' of undefined

代碼:

<!DOCTYPE html> 
 
    <html> 
 
    <head> 
 
    <script> 
 
    function myFunction() 
 
    { 
 
     var a = document.getElementById("txt_1")[0].value; 
 
     document.getElementById("demo").innerHTML = a; 
 
    } 
 
    </script> 
 
    </head> 
 
    <body> 
 
    <form> 
 
    <input type="text" id="txt_1" name="txt_1"> 
 
    <input type="button" onclick="myFunction()" value="Click me"> 
 
    </form> 
 
    <p id="demo"></p> 
 
    </body> 
 
    </html>

回答

4

getElementById()將返回一個單一元件。所以你不需要索引[0]。從getElementById("txt_1")[0]中刪除[0]

<html> 
 
    <head> 
 
    <script> 
 
    function myFunction() 
 
    { 
 
     var a = document.getElementById("txt_1").value; 
 
     document.getElementById("demo").innerHTML = a; 
 
    } 
 
    </script> 
 
    </head> 
 
    <body> 
 
    <form> 
 
    <input type="text" id="txt_1" name="txt_1"> 
 
    <input type="button" onclick="myFunction()" value="Click me"> 
 
    </form> 
 
    <p id="demo"></p> 
 
    </body> 
 
    </html>

+0

感謝您的幫助,你可以告訴我,我們在什麼具體的使用「索引」,即** [0] .value **在JavaScript中? –

+0

@MehulChachada建立索引,你可以使用''數組''和'數組'類似的對象。所以如果你有很多'p'元素並且想要獲取所有元素的getElementsByTagName'函數,它會返回一個''類似''​​對象的數組。對於''數組'類似的對象中的每個元素,您可以調用'[]'並傳遞該對象中項目的索引 –

0

document.getElementById("txt_1")返回元件,不具有該元件作爲第一個項目的陣列的功能,使得除去[0]

var a = document.getElementById("txt_1").value; 
0

的document.getElementById()返回一個單一的元素。不需要(你不能)選擇第一個元素([0]),只會有一個。

var a = document.getElementById("txt_1").value; 
相關問題