2016-08-17 113 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; 
相关问题