簡體   English   中英

成功后的jQuery驗證器模塊和函數調用

[英]Jquery validator module and function call after success

首先,我對javascript和jquery沒有太多的經驗:)我只是想找到一種快速的方法來將jquery電子郵件驗證器模塊與檢查recaptcha的功能連接起來。 這是我的代碼:

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

工作正常! 輸入經過驗證。

現在,在驗證之后,我需要做兩件事:首先,我需要調用recapVerify(),在recaptcha得到驗證之后,我需要提交表單。 這是我使用的示例: email方法 我知道我現在需要使用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');
});
}

在jquery validate函數上使用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(默認值:本機表單提交)

類型:Function()

表單有效時用於處理實際提交的回調。 獲取表單作為唯一參數。 替換默認的提交。 驗證后通過Ajax提交表單的正確位置。

還創建了一個小提琴,以便您可以使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM