Неверная ошибка истечения срока действия Recaptcha - PullRequest
0 голосов
/ 12 июня 2018

У меня странная проблема с невидимым recaptcha.Через 2 минуты после истечения срока действия Recaptcha произошел сбой сценария «Объект не найден».Даже попытался использовать WidgetID, но показал то же поведение.Единственная разница в том, что у меня есть дополнительный шаг между отправкой Recaptcha и отправкой моей формы.После успешной повторной отправки нажмите кнопку, после чего на странице откроется всплывающее окно, а окончательная отправка произойдет при нажатии кнопки отправки всплывающего окна.Весь процесс отправки работает должным образом, но когда истекает срок действия капчи в случае, если форма оставлена ​​бездействующей более 2 минут над всплывающим элементом div, выдается ошибка.Ниже приведен фрагмент кода:

    <div>
      <div>
      ...................
          <div class="form__group">
          <label class="text captcha"></label>
          <div class="g-recaptcha" data-badge="inline" data-sitekey="{$CaptchaWebsiteKey}" data-size="invisible" data-expired-callback="validateExpire" data-callback="onSubmit"></div>
          </div>
          <div class="form__group">
              <input id="btnPopUp" type="submit" class="btn btn--primary btn--full btn--xs-full" value="Submit your details"/>
          </div>
        </div>
    </div>
    <div id="modal" style="visibility:hidden;" class="modal">
              <div class="modal-content">
                <div class="modal-space">
                  ...................
                  <div class="modal-space1">
                    <input type="submit" id="btnSubmit" value="Submit" class="modal-btn modal-space2 btn btn--primary btn--xs-full" disabled="true"/>
                    <input type="submit" value="Cancel" onclick="return closePopup();" class="modal-btn modal-space2 btn btn--primary btn--xs-full" />
                  </div>
                </div>

              </div>

            </div>
            <div class="overlay"></div>

<script language="javascript" type="text/javascript">
        onload();

        function onload() {
          var element = document.getElementById('btnPopUp');
          element.onclick = validate;
        }

        var captchaResponse='';
        function onSubmit(response){
        captchaResponse = response;
            openPopup();
        } 

        function validateExpire() {
            grecaptcha.reset();
            captchaResponse='';
        }
 </script>

Может кто-нибудь помочь в решении этой проблемы?Заранее спасибо.

...