javascript - 为什么脚本不这样工作?

标签 javascript

以下是 HTML 页面加载时应根据我的情况运行的语句。

document.getElementById("name_field").value = "JavaScript";

但这没有任何作用。如果我尝试以不同的方式做同样的事情:

window.onload = init;
function init() {
document.getElementById("name_field").value = "JavaScript";
}

那么这工作正常。

第一个脚本有什么问题?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="valtest.js">
</script>
</head>

<body>
<form>
<label>Enter your name&nbsp;&nbsp;<input type="text" id="name_field" /></label> <br/>
<input type="submit" value="submit" />
</form>
</body>
</html>

最佳答案

Onload 在页面中呈现 HTML 后运行。因此,在您的第一个示例中,该元素尚不可用于 JavaScript 处理。

大多数使用“文档就绪”,这意味着文档已经呈现。

jQuery 示例:

$(document).ready(function() {
   init()
});

关于javascript - 为什么脚本不这样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7517303/

相关文章:

javascript - 我怎样才能让这个JS slider 每三秒自动播放一次

javascript - 按 id 对对象数组进行分组

javascript - meteor JS : Iron router on click button

javascript - 在 node.js 中使用带有流的 promise

javascript - Kendo UI PanelBar 有条件展开

javascript - 使用 Node.js + CoffeeScript + MySQL 制作几个相关的插入

javascript - 时间值的 Jquery 串联

Javascript:按名称显示/隐藏多个元素

javascript - Sequelize中如何进行算术运算?

JavaScript - 在点击时递增地重新定位 DIV