我确信这是一个非常麻木的问题,而且很可能是最基本的问题。我只是JS的首发。
我正在尝试通过document.getElementById访问输入字段的值,并且它返回null给我,我不知道为什么这里是代码。
<html>
<head>
<script type="text/javascript">
var name = document.getElementById("e_name");
alert(name);
</script>
</head>
<body>
<form action="" method="post">
<input type="text" name="name" id="e_name" value="Enter your Name"/>
<input type="submit" name="submit"/>
</form>
</body>
</html>
以下代码在警告框中打印值null。怎么了?
更新:
当我使用以下代码时。
<html>
<head>
</head>
<body>
<form action="" method="post">
<input type="text" name="name" id="name" value="Enter your Name"/>
<input type="submit" name="submit"/>
</form>
<script type="text/javascript">
var name = document.getElementById('name').value;
alert(name);
</script>
</body>
</html>
打印输入您的姓名,但如果我更改了值,则不会打印更改的值。我想为验证目的执行以下操作
a)在头标记
中的javascript变量中保存e_name的值b)以便我能够处理它以进行验证。
我该怎么做?
答案 0 :(得分:3)
因为你甚至在文档对象准备好之前就调用了那行脚本!
试试这个
<body>
<form action="" method="post">
<input type="text" name="name" id="e_name" value="Enter your Name"/>
<input type="submit" name="submit"/>
</form>
<script type="text/javascript">
var name = document.getElementById("e_name").value;
alert(name);
</script>
</body>
或者在头标中。
<script type="text/javascript">
window.onload = function() {
var name = document.getElementById("e_name");
alert(name);
}
</script>
答案 1 :(得分:1)
在加载HTML之前,Javascript代码正在执行。 id="e_name"
元素实际上尚未存在于文档中。
答案 2 :(得分:0)