1
<!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],我不知道为什么,我想在文本框中显示用户输入的内容。帮助我......

4

5 回答 5

3

您只得到表示为对象的 html 元素,而不是<input>. 您需要使用以下命令明确获取该内容.value

   function myFunction() {
        var str;
        str = document.getElementById("t1").value;
        alert(str);
    }
于 2013-09-30T13:11:35.433 回答
1

改变:

str = document.getElementById("t1")

至:

str = document.getElementById("t1").value;

jsFiddle 示例

document.getElementById("t1")引用元素所以你需要指定你想要的元素的属性。在这种情况下,价值。

于 2013-09-30T13:11:28.183 回答
0

您的str变量包含对对象本身的引用,而不是里面的文本。你想要的是:

str = document.getElementById('t1').value;
于 2013-09-30T13:11:39.017 回答
0

您应该t1.value在警报中使用。t1是整个输入元素,但您只对输入的内容感兴趣,即它的

于 2013-09-30T13:11:42.573 回答
-3

而不是alert(str),使用console.log(str),然后检查浏览器控制台

于 2013-09-30T13:12:13.987 回答