我在一个页面上有两个表单,都使用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'
});
};
如何重置所有实例或定位特定实例。
答案 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);