javascript:从学生 ID 输出姓名的最简单方法

标签 javascript html numbers lookup

我的 JS 代码

<script language="Javascript">
var data = {
   7: "Jack Black",
   8: "John Smith"
};

var id = document.getElementById("id"),
  emp = document.getElementById("name");
id.addEventListener("keyup", function() {
  emp.value = data[this.value] || "No name with this ID Number";
});
</script>

在 HTML 中我有

<input type="number" id="id" />
<input type="text" disabled="disabled" id="name" />

那么我做错了什么,为什么当我输入 7 时,Jack Black 没有出现在文本框中?

非常感谢

最佳答案

问题一定出在 html 文件中 script 标签的位置,在使用 javascript 使用 document 获取 ID 之前,您需要定义 id 为 id 的 html 元素。 getElementById("id"),这似乎是代码唯一的问题。

脚本内容在前,html 在后,导致错误

<script language="Javascript">
  var data = {
    7: "Jack Black",
    8: "John Smith"
  };

  var id = document.getElementById("id"),
    emp = document.getElementById("name");
  id.addEventListener("keyup", function() {
    emp.value = data[this.value] || "No name with this ID Number";
  });
</script>

<input type="number" id="id" />
<input type="text" disabled="disabled" id="name" />

如果我们颠倒顺序,先定义html,再定义脚本,就没有错误!

<input type="number" id="id" />
<input type="text" disabled="disabled" id="name" />

<script language="Javascript">
var data = {
   7: "Jack Black",
   8: "John Smith"
};

var id = document.getElementById("id"),
  emp = document.getElementById("name");
id.addEventListener("keyup", function() {
  emp.value = data[this.value] || "No name with this ID Number";
});
</script>

关于javascript:从学生 ID 输出姓名的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47488043/

相关文章:

javascript - JavaScript 中多个数组的笛卡尔积

javascript - 使用JavaScript修改表单

c - 在具有重复值的未排序数组中查找缺失的数字

android - 在 Android EditText 中截取数字 0 到 9

sql - 将 30 到 300 之间的随机数添加到现有字段

javascript - 在匹配的 DOM 元素集上使用 jQuery 时,是否需要使用索引号?

javascript - 简单的在线网络游戏最终崩溃

javascript - 如何使用 JavaScript 将格式应用于 HTML 表格中的 <td>?

database - 我有一个想要实现的系统,建议或理论会很酷

html - 为什么这些图像的底部排成一行?