0

ユーザー名とパスワードのテキストフィールドを含む単純なjspファイルを作成しました。javascript を使用してそのフィールドを検証したいのですが、var a=document.getElementsByID("uname") を記述して a の長さを出力すると、出力が「未定義」と表示されます。

ここに私のコードがあります..

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

3 に答える 3

0

その要素への参照の「長さ」プロパティを警告しようとしています。要素オブジェクトには、配列や文字列とは異なり、そのようなプロパティがないため、「未定義」が表示されます。

Elements のドキュメントを参照してください: https://developer.mozilla.org/en-US/docs/Web/API/element

および document.getElementById

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

于 2013-09-18T04:10:37.537 に答える
0

Elementにはプロパティがありませんlength。未定義であることが予想されます。

https://developer.mozilla.org/en-US/docs/Web/API/element?redirectlocale=en-US&redirectslug=DOM%2Felement

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

于 2013-09-18T04:10:59.153 に答える
0

変えるだけ

alert(a.length);

alert(a.value);

a は要素であり、フォーム フィールドの文字列値ではありません。それを取得するには .value が必要です。

于 2013-09-18T04:13:45.453 に答える