开发者

documnet.getElementById does not fetch the value . what is going wrong?

i am sure this is quite a numb question to ask and most probably the most basic one. i am just a starter for JS.

i am trying to access the value of input field by document.getElementById and it is returning null to me i am not sure why here is the code.

<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>
    </bod开发者_运维知识库y>
</html>

the following code prints the value null in alert box. what is wrong?

Update :

When i use the following code.

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

it prints Enter your Name but if i change the value it does not print the changed value. i would want to perform the following for validation purpose

a) holds the value of e_name in a javascript variable in the head tag

b) so that i should be able to process it for validation.

how do i do it?


Because you're calling that line of script even before document object is ready!

Try this

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

Or this in your head tag.

    <script type="text/javascript">
        window.onload = function() {
            var name = document.getElementById("e_name");
            alert(name);
        }
    </script>


The Javascript code is executing before that HTML has loaded. The element with id="e_name" doesn't actually exist in the document yet.



function validate() { var nam=name.value; alert("name"+nam); }


0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜