外部Js文件不验证我的html表单

时间:2017-10-16 16:04:41

标签: html validation

我在html中编写了一个链接到外部Js文件的代码,但JS代码并没有验证表单字段。任何人都可以发现问题。我尽我所能让JS来验证表单,但它不会起作用。以下是JS代码:

<script>
    function validateMyForm() {
        var fname = document["myform"]["firstname"].value;
        var lname = document["myform"]["lastname"].value;
        var email = document["myform"]["email"].value;
        var atpos = email.indexOf("@");
        var dotpos = email.lastIndexOf(".");
        var pass = document["myform"]["password"].value;
        var passlen = pass.length;
        var confpass = document["myform"]["ConfirmPassword"].value;

        if (fname == null || fname == "") {
            alert("Please enter your First Name!");
            return false;
        } else if (lname == null || lname == "") {
            alert("Please enter a your Last Name!");
            return false;
        } else if (email == null || email == "") {
            alert("Please enter an email!");
            return false;
        } else if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length) {
            alert("Please enter a valid email address!");
            return false;
        } else if (pass == null || pass == "") {
            alert("Please enter a Password!");
            return false;
        } else if (passlen < 4 || passlen > 15) {
            alert("Password needs to be to have a length of 4-15 characters");
            return false;
        } else if (pass != confpass) {
            alert("Passwords do not match!");
            return false;

        }
    }
</script>

1 个答案:

答案 0 :(得分:0)

由于您没有发布HTML,我将假设您没有触发您的功能。

为了使您的功能正常工作,您需要触发表单验证功能。为此,您需要将onsubmit="return validateMyForm()"添加到表单标记中。在调用您的函数之前,请确保包含returnAs shown here

如果您的代码出现问题,则可以使用内置于所有Web浏览器中的检查器来查看错误。如果您使用的是chrome,则可以通过按Control+Shift+C

来访问检查器