javascript警告框中的无限制输出

时间:2013-09-18 04:05:10

标签: javascript

我编写了简单的jsp文件,其中包含用户名和密码的文本字段。 我想使用javascript验证该字段,但是当我写的时候 var a = document.getElementsByID(“uname”)并打印a的长度,它将输出显示为'undefined'。

这是我的代码..

<head>
<script>
    function validate() {

        var a=document.getElementById("uname");
        alert(a.length);
        return false; 
    }
</script>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Login</title>
</head>
<body>
    <form method="post" action="/Edzeal/Validate">



        <table align="center">
            <tr>
                <td>User Name:</td>
                <td><input type="text" name="uname" id="uname"></td>
                <td><p id="uerror"></p></td>
            </tr>
            <tr>
                <td>Password:</td>
                <td><input type="password" name="pwd"></td>
            </tr>
            <tr></tr>
            <tr>
                <td><input type="submit" value="Login" onclick="return validate()"></td>
                <td><input type="reset">&nbsp<a
                    href="/Edzeal/Register.jsp" shape="rect">Register</a></td>
                <td></td>
            </tr>
        </table>
    </form>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

您正在尝试提醒该元素的引用的“length”属性。与数组或字符串不同,元素对象没有任何此类属性,因此您看到“未定义”。

请参阅元素文档:https://developer.mozilla.org/en-US/docs/Web/API/element

和document.getElementById

https://developer.mozilla.org/en-US/docs/Web/API/document.getElementById

答案 1 :(得分:0)

答案 2 :(得分:0)

只需更改

alert(a.length);

alert(a.value);

a是一个元素,没有表单字段的字符串值。你需要.value才能得到它。