reCAPTCHA уже отображается в этом элементе - PullRequest
0 голосов
/ 09 января 2019

У меня есть простая контактная форма, созданная с помощью ASP .Net с использованием панели обновления. Все работает как положено, но я вижу ошибку

recaptcha__en.js: необработанная ошибка: reCAPTCHA уже отображено в этом элементе

в окне консоли

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<script src="https://www.google.com/recaptcha/api.js?onload=pageLoad&render=explicit" async defer></script>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <div class="g-recaptcha" data-sitekey="XXXX"></div>
    </ContentTemplate>
</asp:UpdatePanel>

<script language="javascript" type="text/javascript">
    function pageLoad() {
        $('.g-recaptcha').each(function (index, obj) {
            grecaptcha.render(obj, { 'sitekey': 'XXXX' });
        });
    }
</script>

Я изначально добавил onload=pageLoad&render=explicit, как будто капча не была проверена, и вы нажали кнопку отправки, капча исчезла. Добавление onload=pageLoad&render=explicit к строке сценария решило эту проблему, но теперь я получаю вышеуказанную ошибку.

Если я попытаюсь удалить некоторые элементы, то что-то еще сломается, т. Е. Капча не отображается или не отображается при обратной передаче?

...