0

我对 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>
4

3 回答 3

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;
于 2013-08-18T04:04:31.307 回答
1

为简化起见,根据您的浏览器,您可以使用document.querySelector. 看看这个非常有用的 SO 帖子: JavaScript:如何获取文本输入字段的值?

于 2013-08-18T04:06:25.010 回答
0

你应该先这样做:

var user= document.getElementsByName("user");
var hello = document.getElementById("hello");
 hello.innerHTML = "How are you " + user[0].value;
于 2013-08-18T04:11:41.847 回答