2017-02-19 6 views
0

"test2"に問題があります。この入力テキストボックスは印刷できません

私の最初の「test1」が働いていて、私が望むように印刷しています。ただし、test2は結果を表示せず、何も表示しません。

単純なエラーと思われますが、私はちょうど混乱しています。

コード:

<!DOCTYPE> 
<html"> 

<head> 
    <script type="text/javascript"> 
     function myFunction(event) { 
      event.preventDefault(); 
      var k = event.keyCode; 
      document.getElementById("test1").innerHTML = event.keyCode; 
      document.body.children.myform.children.test2.value = event.keyCode; 
     } 
    </script> 
</head> 

<body onkeydown="myFunction(event)"> 
    <form id="myform"> 
     <center> 
      <table> 
       <tr><td><br /><br /><br /></td></tr> 
       <tr> 
        <td> 
         <h1>Key Code</h1> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <input id="test2" type="text" /> 
        </td> 
       </tr> 
       <tr> 
        <td> 
         <p id="test1"></p> 
        </td> 
       </tr> 
      </table> 
     </center> 
    </form> 
</body> 

</html> 

Jsfiddleそれは場合に役立ちます:

https://jsfiddle.net/o935hyzv/

+0

いくつかのマイナーな問題:あなたはIDを宣言するよう

<script type="text/javascript"> document.getElementsByTagName('form')[0].children.test2.value = event.keyCode; </script> <input id="test2" name="test2" type="text" /> 

とにかく、私はこのコードをJS好むだろう。レイアウト用にテーブルを使用せず、表形式のデータ用にテーブルを使用します。レイアウトにはCSSを使用します。第二に、 '

'要素はもはや存在しません。第三に、あなたの ''要素には引用符が含まれているようです。 Ex ' ' – j08691

+0

「test2」に実際の入力コードまたはキーコードを表示しますか? – azs06

+0

'document.body.children.myform'は機能しません。正しいのは 'document.forms.myform'です。 – Aloso

答えて

1

を、あなたの例のように、フォームのフィールドにアクセスしたい場合は、あなたの入力タグがname属性を宣言する必要があります。

document.getElementById("test2").value = event.keyCode; 
関連する問題