document.getElementById不获取值。出了什么问题?

时间:2011-02-28 09:47:32

标签: javascript

我确信这是一个非常麻木的问题,而且很可能是最基本的问题。我只是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)以便我能够处理它以进行验证。

我该怎么做?

3 个答案:

答案 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)


           

    function validate() { var nam = name.value; 警报( “名” + NAM); }