0

検証全体は正常に機能していますが、電子メールの検証が機能していないため、javascript 検証を使用してフォームを検証しています。私のフォームコードは次のとおりです

<form method="post" action="contact.php" name="myForm" onsubmit="return validateForm()">

<h3>To know more contact us today.</h3>

    <table>
        <tr>
            <td>Name:
                <br />
                <input id="name" name="name" type="text" />
            </td>
        </tr>
        <tr>
            <td>Contact No:
                <br />
                <input id="contact" name="contact" type="text" />
            </td>
        </tr>
        <tr>
            <td>Email:
                <br />
                <input id="email" type="text" name="email" />
            </td>
        </tr>
        <tr>
            <td>Address:
                <br />
                <textarea cols="34" id="address" name="address" type="text"></textarea>
            </td>
        </tr>
        <tr>
            <td>
                <input type="submit" value="Submit" />
            </td>
        </tr>
    </table>
</form>

私のjavascriptコードは次のとおりです

  <script type="text/javascript">
        function validateEmail() {

            var emailID = document.["myForm"]["email"].value;
            atpos = emailID.indexOf("@");
            dotpos = emailID.lastIndexOf(".");
            if (atpos < 1 || (dotpos - atpos < 2)) {
                alert("Please enter correct email ID")
                document.myForm.email.focus();
                return false;
            }
            return (true);
        }
        function validateForm() {
            var x = document.forms["myForm"]["name"].value;
            if (x == null || x == "") {
                alert("First name must be filled");
                return false;
            }
            var x = document.forms["myForm"]["contact"].value;
            if (x == null || x == "" || isNaN(document.myForm.contact.value) || document.myForm.contact.value.length != 10) {
                alert("Contact Number Must be 10 Digits");
                return false;
            }
            var x = document.forms["myForm"]["email"].value;
            if (x == null || x == "") {
                alert("Email is must");
                return false;
            }
            else {

                var ret = validateEmail();
                if (ret == false) {
                    return false;
                }
            }
            var x = document.forms["myForm"]["address"].value;
            if (x == null || x == "") {
                alert("Address cannot be empty");
                return false;
            }
            return (true);
        }

    </script>
4

1 に答える 1

4
var emailID = document.["myForm"]["email"].value;
                      ^^

構文エラー。ドット表記または角括弧表記。(プロパティごとに)1 つだけ選択してください。

Firebug / Chrome Developer Tools / Dragonfly / etc が、テスト時にそれを明確に示していなかったことに驚いています。

于 2013-01-21T06:53:19.717 に答える