我正在使用https://developers.google.com/recaptcha/docs/display#auto_render所述的谷歌验证码。
我有一个通过ajax发送的表单。单击我的“发送”按钮后,我发送了我的请求。
如果表单有错误,表单是新加载的,我也希望验证码是新加载的。但是,当我创建grecaptcha.reset();
时,验证码字段不再显示。
我已经尝试过用
创建捕获字段grecaptcha.render('recaptcha', {
'sitekey' : 'MYKEY'
});
然后,在重新加载带有此捕获的表单后,我做了
var captchawidget = grecaptcha.render('recaptcha', {
'sitekey' : 'MYKEY'
});
grecaptcha.reset(captchawidget);
然后加载捕获,但再次单击我的发送按钮后,出现错误:
TypeError: ge(...) is null
...valid ReCAPTCHA client id: "+a);return ge(Yp(b.id)).value},$p=function(){return!...
任何人都可以帮我吗?谢谢!
答案 0 :(得分:0)
您需要传递一个小部件ID才能再次渲染
var widgetId = grecaptcha.render(container);
grecaptcha.reset(widgetId);