2016-08-17 5 views
1

タグからの入力を得ることができないと、ユーザーが入力テキストに任意の値を入力して、入力されたデータは、「P」タグが、中にプリントを取得し、このコードを実行しようとしていました私は、コードが間違っていたところ、それは次のエラーで私を飛び出し見るためにデバッガを使用JavaScriptのエラーは、私はJavaスクリプトを学習しています

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

私は、JavaScriptで** [0] .value **のインデックスを使用する具体的な方法を教えていただけますか? –

+0

@MehulChachadaの索引付けは、 'arrays'オブジェクトや' array like'オブジェクトで使うことができます。多くの 'p'要素を持ち、 ' getElementsByTagName'関数ですべての要素を取得したい場合、 'array like'オブジェクトを返します。その 'array like'オブジェクト内の各要素に対して、あなたは' [] 'を呼び出してオブジェクトの中の項目のインデックスを渡すことができます –

0

要素ではなく、最初の項目としての要素を持つ配列を返しdocument.getElementById("txt_1")機能ので[0]削除:

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

のdocument.getElementById()戻り単一の要素。最初の要素([0])を選択する必要はありません(1つしかありません)。

var a = document.getElementById("txt_1").value; 
関連する問題