Javascript验证 - 警报消息和连接问题 - 表格在第5次检查后提交,无论

时间:2015-08-28 16:13:20

标签: javascript html forms validation concatenation

感谢先进的任何帮助。我只是一个JS和PHP的初学者,而这个问题我无法解决这个问题。

我的问题..如果我删除了最后一个连接

//fail += validateEmail(form.email.value);

表单会显示警告,包含所有相应的消息并阻止表单提交。 当重新添加该行时,无论函数具有什么功能,它都会自动转到下一页而不显示任何警告,几乎就像验证不存在一样。

警报中的行数是否有限制?我认为如果是这样的话就会截断,而不是完全跳过代码。我一直把头发拉出来。任何帮助,将不胜感激。

这是代码。它全部在一个名为validateTest.html的html页面上。

(第一次在这个网站上发帖,它删除了我所有的HTML代码uggh ..

这里只是javascript部分:

        <script type="text/javascript">

    function validateForm(form){
        fail = validateFirstname(form.firstname.value);
        fail += validateLastname(form.lastname.value);
        fail += validateUsername(form.username.value);
        fail += validatePassword(form.password.value);
        fail += validateAge(form.age.value);
        fail += validateEmail(form.email.value);

        if(fail== ""){ return true;
        }else {alert(fail); 
            return false;
        }
    }

    function validateFirstname(field){
        if(field == "") { return "No Firstname was given \n";
        } else return "";
    }

    function validateLastname(field){
        if(field == "") { return "No Lastname was given \n";
        } else  return "";
    }

    function validateUsername(field){
    if (field == "") return "No Username was entered.\n";
    else if (field.length < 5)
        return "Usernames must be at least 5 characters.\n";
    else if (/[^a-zA-Z0-9_-]/.test(field))
        return "Only a-z, A-Z, 0-9, - and _ allowed in Usernames.\n";
    return "";
    }

    function validatePassword(field){
    if (field == "") return "No Password was entered.\n";
    else if (field.length < 6)
        return "Passwords must be at least 6 characters.\n";
    else if (!/[a-z]/.test(field) || ! /[A-Z]/.test(field) ||
       !/[0-9]/.test(field))
        return "Passwords require one each of a-z, A-Z and 0-9.\n";
    return "";
    }

    function validateAge(field){
    if (isNaN(field)) return "No Age was entered.\n";
    else if (field < 18 || field > 110)
        return "Age must be between 18 and 110.\n";
    return "";
    }

    function validateEmail(field){
        if(field == "") { return "Nothing in the slot! \n"; 
        }else 
            return "";
    }



    </script>

无法弄清楚如何显示html表单,因为我这样做会隐藏问题中的表单代码。使用代码块只显示html中的一行..烦人。

所以这里是表单发布行(已删除&#34;&lt;&gt;&#34;实际显示它):      form method =&#34; post&#34;命名=&#34; myForm的&#34;行动=&#34; adduser.php&#34; onsubmit =&#34; return validateForm(this);&#34;

每个表单行都是这样做的:  输入类型=&#34;文字&#34; MAXLENGTH =&#34; 64&#34;名称=&#34;电子邮件&#34;&GT;

0 个答案:

没有答案