我是JavaScript的新手,并试图在我正在阅读的书中模仿一个例子。我想将输入的内容输入HTML元素,并使用.innerHTML将数据发送到元素。我不知道出了什么问题。
<!DOCTYPE html>
<html>
<head>
<title>JS Form</title>
</head>
<body>
<form id="date">
<table>
<tr><td><input type="text" name="user" placeholder="Please input name" onchange="greeting();"></td>
</tr>
<tr><td><span id="hello"></span></td>
</tr>
</table>
</form>
<script type="text/javascript">
function greeting() {
var user = document.date.user.value;
var hello = document.getElementById("hello");
hello.innerHTML = "How are you " + user;
}
</script>
</body>
</html>
答案 0 :(得分:1)
将name="date"
添加到您的表单标记中,如下所示。否则document.date.user.value
将无效。
<form id="date" name="date">
解决此问题的另一种方法是访问date
对象的window
属性。
window.date.user.value;
这是可能的,因为您在表单上设置了id
。
或者您可以考虑使用form
访问id
,然后获取用户值,如下所示:
var user = document.getElementById("date").user.value;
答案 1 :(得分:1)
为简化起见,您可以使用document.querySelector
,具体取决于您的浏览器。看看这个非常有用的SO帖子:
JavaScript: how to get value of text input field?
答案 2 :(得分:0)
你应该先做这件事:
var user= document.getElementsByName("user");
var hello = document.getElementById("hello");
hello.innerHTML = "How are you " + user[0].value;