重置多个Google reCAPTCHA

时间:2015-07-10 15:27:19

标签: javascript jquery recaptcha

我在一个页面上有两个表单,都使用Google reCAPTCHA。

每当我使用grecaptcha.reset();时,它只会重置第一个实例。

以下JS呈现reCAPTCHA(s)

var recaptcha1;
var recaptcha2;

var myCallBack = function() {
    //Render the recaptcha1 on the element with ID "recaptcha1"
    recaptcha1 = grecaptcha.render('recaptcha1', {
        'sitekey' : '1234', //Replace this with your Site key
        'theme' : 'light'
    });

    //Render the recaptcha2 on the element with ID "recaptcha2"
    recaptcha2 = grecaptcha.render('recaptcha2', {
        'sitekey' : '1234', //Replace this with your Site key
        'theme' : 'light'
    });
};

如何重置所有实例或定位特定实例。

3 个答案:

答案 0 :(得分:2)

一种更动态的方法来验证验证码控件,而不管它们有多少并将其全部重置。 (使用jQuery):

    var c = $('.g-recaptcha').length;
    for (var i = 0; i < c; i++)
        grecaptcha.reset(i);

答案 1 :(得分:1)

根据googles文档。 https://developers.google.com/recaptcha/docs/display#js_param
您应该能够将验证码ID传递给重置方法。
grecaptcha.reset(widgetId);

那么你就可以做到:


    grecaptcha.reset("recaptcha1");
    grecaptcha.reset("recaptcha2");

答案 2 :(得分:0)

grecaptcha.reset(0);
grecaptcha.reset(1);