我确信这是一个很麻木的问题,而且很可能是最基本的问题。我只是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>


下面的代码在警报框中打印空值。怎么了?

更新:

当我使用以下代码时。

<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)将e_name的值保存在head标签的javascript变量中

b)这样我应该能够对其进行验证。

我该怎么做?

最佳答案

因为您甚至在文档对象准备好之前就在调用脚本的那一行!

尝试这个

<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>

关于javascript - document.getElementById不会获取该值。怎么了?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5140352/

10-13 01:36