成功后,Jquery验证器模块和函数调用

时间:2014-08-27 10:31:21

标签: javascript jquery

首先我对javascript和jquery没有太多经验:)我只是想找到一个快速的方法来连接jquery email验证器模块和一个检查recaptcha的函数。这是我的代码:

jQuery.validator.setDefaults({
debug: true,
success: "valid"
});
$( "#myform" ).validate({
rules: {
field: {
required: true,
email: true
 }
}
});

工作正常!输入已经过验证。

现在验证后我需要两件事:首先我需要调用recapVerify(),在recaptcha得到验证后我需要提交我的表单。这是我使用的示例:email method。我知道我现在需要使用submitHandler,但我无法弄清楚在哪里以及如何使用?

顺便说一下。这是我想要使用的recapVerify()函数:

 function recapVerify(){
    $.ajax({
    type:'post',
    url: 'captcha_check.php',
    data: {
        recaptcha_challenge_field:$('#recaptcha_challenge_field').val(),
        recaptcha_response_field:$('#recaptcha_response_field').val()
    }
}).done(function(data, textStatus, jqXHR){
    if (data == 'success'){
        $('#err').addClass('hidden');
        //document.forms[0].submit(); // uncomment this line to submit your form
        alert('Success, the form and reCAPTCHA validated, your form was submitted');
    } else {
        $('#err').removeClass('hidden');
    }
}).fail(function(jqXHR,textStatus,errorThrown){
        console.log('recaptcha or service failure');
});
}

1 个答案:

答案 0 :(得分:1)

在jquery验证函数上使用submitHandler。不需要调试。从本质上讲,这是您需要的JavaScript。

$(document).ready(function(){
    $("#test-form").validate({
        rules: {
            name: {
                required: true,
            },
            email : {
                required : true,
                email : true
           }
        },
            submitHandler : recaptchaVerify
    });
});

function recaptchaVerify(form){
    console.log(form);
    alert("in submit handler");
}

根据jQuery验证的文件

  

submitHandler(默认:本机表单提交)

     

类型:功能()

     

在表单有效时回调处理实际提交。获取表单   作为唯一的论点。替换默认提交。正确的地方   在验证后通过Ajax提交表单。

还创建了fiddle,以便您可以使用它。