首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在用户提交无效输入后重新加载google recaptcha小部件

如何在用户提交无效输入后重新加载google recaptcha小部件
EN

Stack Overflow用户
提问于 2014-12-20 06:21:54
回答 9查看 76.8K关注 0票数 34

我有一个注册表,上面有新的google recaptcha小部件。当用户提交信息时,我们使用javascript检查验证,并将问题返回到页面(例如:“请使用有效的电话号码”)。然而,由于页面不会重新加载,当用户输入正确的信息并再次提交时(无需再次执行recaptcha ),...the recaptcha将不再有效,并且在不重新加载页面的情况下无法提交。

有没有一个很好的解决方案?我可以以某种方式重新加载小部件吗?我尝试过grecaptcha.render,但它并没有真正起到什么作用。

编辑:

当我再次尝试呈现小部件时,它显示“占位符元素必须为空”。

我尝试清空似乎可以工作的元素($('.g-recaptcha').empty();),然后进行渲染,但仍然抛出相同的错误。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2014-12-30 18:38:51

您要查找的方法是grecaptcha.reset()

但是,为了让这个函数工作,您必须像下面这样显式地呈现reCaptacha:<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer></script>

票数 41
EN

Stack Overflow用户

发布于 2015-08-11 15:59:55

我个人将元素html内容重置为

代码语言:javascript
复制
$('#captcha').html('');

在此之后,我使用以下命令重新加载了recaptcha

代码语言:javascript
复制
$.getScript("https://www.google.com/recaptcha/api.js");

将recaptcha内容加载到

代码语言:javascript
复制
<div id="captcha" class="g-recaptcha" data-sitekey="yourSitePublicKey"></div>
票数 8
EN

Stack Overflow用户

发布于 2016-06-19 05:02:35

我能够做到这一点,只需使用:

代码语言:javascript
复制
grecaptcha.reset();
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27574733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档