JQuery验证的联系表单中的错误

时间:2015-06-09 10:40:02

标签: jquery forms

我使用JQuery验证联系表单,但是当我按下发送按钮时它没有提交。这是代码:

<script>
$(document).ready(function()
{
    var nameok = 0;
    var telephoneok = 0;
    var emailok = 0;
    var messageok = 0;
    var validok = 1;
    // Name Validation
    $('#name').blur(function()
    {
        var name=$("#name").val();
        if(name.length < 1){
            nameok = 0;
        }
        else {
            nameok = 1;
        }
    });
    // Telephone Validation
    $('#telephone').blur(function()
    {
        var telephone=$("#telephone").val();
        if(telephone.length < 1){
            telephoneok = 0;
        }
        else {
        telephoneok = 1;
        }
    });
    // E-Mail Validation
    $('#email').blur(function()
    {
        var email=$("#email").val();
        if(email.length < 1){
            emailok = 0;
        }
        else {
        emailok = 1;
        }
    });
    // Message Validation
    $('#message').blur(function()
    {
        var message=$("#message").val();
        if(message.length < 1){
            messageok = 0;
        }
        else {
            messageok = 1;
        }
    });
    // Valid Validation
    $('#valid').blur(function()
    {
        var valid=$("#valid").val();
        if(valid.length > 0){
            validok = 0;
        }
        else {
            validok = 1;
        }
    });
    // Contact Validation
    if(telephoneok == 1 || emailok == 1){
        contactok = 1;
    }
    else{
        contactok = 0;
    }
    // Submit button action
    $('#submit').click(function()
    {
        if(nameok == 1 && contactok == 1 && messageok == 1 && validok == 1)
        {
            $('#submit').hide();
            $('#form').submit();
        }
        else
        {
            $('#submit').show();
        }
        return false;
    });
    //End
});
</script>

我的表单打开:

<form id="form" action="mail.php" method="POST">

我认为错误可能出在Contact Validation部分,但我不确定。关于如何使这个工作的任何建议?

1 个答案:

答案 0 :(得分:0)

您的问题是return false。无论您的验证通过还是失败,它都会被执行。这不允许表单继续。将其移至最终的其他情况,这只会告诉表单,当您的某个验证器失败时,表单不能继续。

{
    $('#submit').show();
    return false;
}