Как перезагрузить ReCaptcha с помощью JavaScript?
У меня есть форма регистрации с AJAX, поэтому я хочу обновить изображение Recaptcha в любое время, когда возникает ошибка (т. е. имя пользователя уже используется).
Я ищу код, совместимый с ReCaptcha, чтобы перезагрузить его с помощью JavaScript.
9 ответов:
Я думаю, я теперь могу ответить на свой собственный вопрос. Это
Recaptcha.reload();в JavaScript, если есть уже загруженный Recaptcha на окне.
Edit: @SebiH обновлено, что эта команда теперь:
grecaptcha.reset();
или вы можете просто имитировать щелчок по кнопке обновления
// If recaptcha object exists, refresh it if (typeof Recaptcha != "undefined") { jQuery('#recaptcha_reload').click(); }
важно: версия 1.0 API reCAPTCHA больше не поддерживается, пожалуйста, обновите до версии 2.0.
можно использовать grecaptcha.reset (); чтобы сбросить капчу.
Источник:https://developers.google.com/recaptcha/docs/verify#api-request
grecaptcha.reset(opt_widget_id)сбрасывает виджет reCAPTCHA. Необязательный идентификатор виджета может быть передан, в противном случае функция сбрасывает первый созданный виджет. (С веб-страницы Google)
попробуй такое
<script type="text/javascript" src="//www.google.com/recaptcha/api/js/recaptcha_ajax.js"></script> <script type="text/javascript"> function showRecaptcha() { Recaptcha.create("YOURPUBLICKEY", 'captchadiv', { theme: 'red', callback: Recaptcha.focus_response_field }); } </script> <div id="captchadiv"></div>Если вы вызываете showRecaptcha, captchadiv будет заполнен новым экземпляром recaptcha.
Если вы используете новый recaptcha 2.0 используйте это: для код:
ScriptManager.RegisterStartupScript(this, this.GetType(), "CaptchaReload", "$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});", true);для простого javascript
<script>$.getScript(\"https://www.google.com/recaptcha/api.js\", function () {});</script>
Comments