<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
user name:
<input type="text" id="t1">
<br>
<button type="button" onClick="myFunction()">display</button>
<script type="text/javascript">
function myFunction() {
var str;
str = document.getElementById("t1");
alert(str);
}
</script>
</body>
</html>
在上面的程序中,它在警告框内显示[object],我不知道为什么,我想在文本框中显示用户输入的内容。帮助我..........
答案 0 :(得分:3)
您只获取表示为对象的html元素,而不是<input>
的实际内容。您需要使用.value
明确获取该内容:
function myFunction() {
var str;
str = document.getElementById("t1").value;
alert(str);
}
答案 1 :(得分:1)
变化:
str = document.getElementById("t1")
为:
str = document.getElementById("t1").value;
<强> jsFiddle example 强>
document.getElementById("t1")
引用元素,因此您需要指定所需元素的属性。在这种情况下,值。
答案 2 :(得分:0)
您的str
变量包含对象本身的引用,而不是内部文本。你想要的是:
str = document.getElementById('t1').value;
答案 3 :(得分:0)
您应该在警报中使用t1.value
。 t1
是整个输入元素,但您只对输入的内容感兴趣,即值。
答案 4 :(得分:-3)
而不是alert(str)
,请使用console.log(str)
,然后检查浏览器控制台