即使未经验证,表单仍会继续提交

时间:2016-06-23 19:18:26

标签: javascript jquery ajax forms validation

我有这个问题很长一段时间,我无法弄清楚。 我使用jquery.validate和tooltipster将工具提示用作失败验证的错误。但我有一个重大问题。我使用ajax请求提交表单,但我的表单每次提交并重定向到php页面,即使验证失败。我甚至不知道工具提示是否配置正确......

这是我的js代码..

$(document).ready(function(){
    $('form input').tooltipster({
        trigger: 'custom',
        onlyOne: false,
        position: 'right'
    });
    $('#form2').validate({

        ignore: ".ignore",

        errorPlacement: function (error, element) {
            var lastError = $(element).data('lastError'),
                newError = $(error).text();

            $(element).data('lastError', newError);

            if(newError !== '' && newError !== lastError){
                $(element).tooltipster('content', newError);
                $(element).tooltipster('show');
            }
        },
        success: function (label, element) {
            $(element).tooltipster('hide');
        },

        rules: {
            name1: {
                required: true,
                minlength: 3
            },
            datum1: {
                required: false
            },
            adresa1: {
                required: false
            },
            telefon1: {
                required: false
            },
            email1: {
                required: false
            },
            program: {
                required: true
            },
            name2: {
                required: true,
                minlength: 3
            },
            adresa2: {
                required: true
            },
            telefon2: {
                required: true
            },
            email2: {
                required: true,
                email: true
            },
            oib: {
                required: true,
                minlength: 11,
                maxlength: 11
            },
            text1: {
                required: true,
                maxlength: 200
            },
            text2: {
                required: true,
                maxlength: 200
            },
            "hiddenRecaptcha": 
            {
                required: function() 
                {
                    if(grecaptcha.getResponse() == '') 
                    {
                        return true;
                    } 
                    else 
                    {
                        return false;
                    }
                }
            }
        },
        messages: {
               "hiddenRecaptcha": "Potvrdite da niste robot.",
               name1: 
               {
                    required:"Molim Vas upišite ime polaznika.",
                    minlength:"Minimalni broj znakova imena je 3."
               },
               program:"Upišite program u koji se želite upisati.",
               name2:
               {
                    required:"Upišite ime odgovorne osobe.",
                    minlength:"Minimalni broj znakova imena je 3."
               },
               adresa2:"Upišite adresu odgovorne osobe.",
               telefon2:"Upišite telefon odgovorne osobe.",
               email2:
               {
                    required:"Upišite mail adresu odgovorne osobe.",
                    email:"Neispravan oblik e-mail adrese"
               },
               oib:
               {
                    required:"Upišite OIB odgovorne osobe.",
                    minlength:"Molimo Vas upišite točan OIB.",
                    maxlength:"Molimo Vas upišite točan OIB."
               },
               text1:
               {
                    required:"Upišite kratku informaciju od kuda ste dobili informaciju o Studiu IR.",
                    maxlength:"Maksimalni broj znakova je 200."
               },
               text2:
               {
                   required:"Upišite kratk što očekujete od programa.",
                   maxlength:"Maksimalni broj znakova je 200."
               }
            },
        submitHandler: function(form) {
            $.ajax({
                url:'skripte/online_upisnik.php',
                type:'POST',
                data: $(form).serialize(),

                success: function( data ) {
                    alert('Poruka je poslana!');
                    $('#form2').trigger("reset");
                },
                error: function() {
                    alert('Niste ispunili sva potrebna polja!');
                }
            });
            return false;
        }
    });
});

我不知道我做错了什么..

这里是简单的jsfiddle http://jsfiddle.net/u9ynctbg/3/ 我只是把香草的形状和js一起留在那里。 把错误的小提琴......放在新的一个。

0 个答案:

没有答案