0

このコードが機能しないのはなぜですか? 「id」属性は必須ですか?

<html>
<head>
<script language="JavaScript">
  function pprint(){
   var a = tf.value;
   document.write(a);
     }
 </script>
</head>
<body>
<input type="text" name="tf"  value="Test">
<input type="button" onClick="pprint()" value="print" >
</body>
</html>

ありがとう!

4

4 に答える 4

5

フォームでは、またはグローバル変数を ( , ) ペアでname埋めるために属性が必要です。$_POST$_GETnamevalue

Javascript は、名前だけから要素を識別しません。したがって、属性を使用する方がよいでしょうid

<input type="text" name="tf" id="tf"  value="Test">

また、Javascript では、要素を取得するために直接呼び出すことができますdocument.getElementById('tf')

このようなもの。

document.write(document.getElementById('tf').value);
于 2013-02-05T16:31:37.110 に答える
2

2 つの変更。「tf」は「id」であり、javascript で要素を取得します。また、上記で提案したように「アラート」。

<html>
<head>
<script language="JavaScript">
  function pprint(){
   var tf = document.getElementById('tf');
   var a = tf.value;
   alert(a);
  }
 </script>
</head>
<body>
<input type="text" id="tf"  value="Test">
<input type="button" onClick="pprint()" value="print" >
</body>
</html>
于 2013-02-05T16:28:55.137 に答える
1

JavaScript の使用中に任意の要素にアクセスする場合は、次の使用を選択できます。

  1. document.getElementById (id)
  2. document.getElementByName] (名前)

次のコードを使用できます。

<script language="JavaScript">
  function pprint(){
    // If you want to use element Id
      var a = document.getElementById('tf').value;
      document.write(a);
    // If you want to access by element name
      var b = document.getElementsByName('tf')[0].value;
      document.write(b);
 }
 </script>

JsFiddle での動作デモ

  1. W3 Schools の document.getElementById
  2. W3 Schools の document.getElementByName
于 2013-02-05T16:53:10.470 に答える
1

このコードが機能しないのはなぜですか?

Javascript は、期待どおりに要素に対してすぐに使用できるハンドルを提供しません。名前、ID、タグ名、または親フォーム (存在する場合) を介して要素を取得する必要があります。

「id」属性は必須ですか?

いいえ、要素のハンドルを取得するために ID は必要ありません。名前で要素を取得する例:

function pprint(){
    var a = document.getElementsByName("tf")[0].value;
    console.log(a);
}
于 2013-02-05T16:39:02.430 に答える