Могу ли я использовать Google reCaptcha "data-expired-callback", чтобы отключить кнопку отправки в форме после истечения времени ожидания reCaptcha? - PullRequest
0 голосов
/ 07 мая 2019

У меня проблема с атрибутом reCaptcha data-expired-callback.Я использую его для отключения кнопки «Отправить» в моей форме, вызывая функцию.Все это отлично работает, кнопка отключена после истечения 2 минут.

Проблема в том, что флажок reCaptcha остается установленным.Если я удалю атрибут data-expired-callback, флажок reCaptcha очистится, и появится сообщение «Проверка истекла».

Пожалуйста, помогите!Заранее спасибо.

... API вызовов (находится в html) ...

<script src="https://www.google.com/recaptcha/api.js" async defer></script>

...

... Данные формы ...

<form name="rpform" action="" onsubmit="return validateForm()" method="post">
<input type="text" id="sendmail" name="sendmail" value="1">
<div class="g-recaptcha" data-callback="recaptchaCallback" data-expired-callback="reCaptchaExpired" data-sitekey="mysitekeygoeshere"></div>
<div><input type="submit" id="submitBtn" class="submitdisabled" value="please verify that you are not a robot" disabled></div>
</form>

...

... recaptchaCallback js ...

function recaptchaCallback() {
document.getElementById('submitBtn').className = "submitenabled";
document.getElementById("submitBtn").disabled = false;
document.getElementById("submitBtn").value = "Submit";
$('#submitBtn').removeAttr('disabled');
};

...

... reCaptchaExpired js ...

function reCaptchaExpired() {
document.getElementById('submitBtn').className = "submitdisabled";
document.getElementById("submitBtn").disabled = true;
document.getElementById("submitBtn").value = "please verify that you are not a robot";
$('#submitBtn').removeAttr('disabled');
};

...

Я ожидал, что по истечении тайм-аута submitBtn отключится, получит class = submitdisabled и значение = '. Убедитесь, что вы не робот».Это все работает отлично.

Я также ожидал, что флажок reCaptcha войдет в свое состояние «истек», как это обычно происходит. Это не происходит, он просто остается в проверенном состоянии.

...