为什么这段代码不起作用? 是否需要“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>
谢谢!
答案 0 :(得分:5)
在表单中,name
属性需要使用($_POST
,$_GET
)对填充name
或value
个全局变量。< / 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时,如果要访问任何元素,可以选择使用:
您可以使用以下代码:
<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>