获取html输入标记值

时间:2013-02-05 16:25:04

标签: javascript html

为什么这段代码不起作用? 是否需要“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 个答案:

答案 0 :(得分:5)

在表单中,name属性需要使用($_POST$_GET)对填充namevalue个全局变量。< / p>

Javascript不会仅识别名称中的元素。因此,最好使用id属性。

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

在您的Javascript中,您可以直接调用document.getElementById('tf')来获取元素。

像这样。

document.write(document.getElementById('tf').value);

答案 1 :(得分: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>

答案 2 :(得分:1)

  

为什么这段代码不起作用?

Javascript不会像您期望的那样为您提供准备使用元素的句柄。您必须通过其名称,ID,标签名称或通过其父表单(如果有的话)获取元素。

  

是否需要“id”属性?

不,ID不需要获取元素的句柄。按名称获取元素的示例:

function pprint(){
    var a = document.getElementsByName("tf")[0].value;
    console.log(a);
}

答案 3 :(得分:1)

使用JavaScript时,如果要访问任何元素,可以选择使用:

  1. document.getElementById(id)
  2. document.getElementByName](姓名)
  3. 您可以使用以下代码:

    <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>
    

    Working demo on JsFiddle

    1. document.getElementById on W3 Schools
    2. document.getElementByName on W3 Schools