我正面临一个与Invisible recaptcha有关的奇怪问题 . 在Recaptcha过期2分钟后,其抛出脚本错误“找不到对象” . 甚至尝试使用WidgetID但显示相同的行为 . 唯一的区别是我在Recaptcha提交和表单提交之间有一个额外的步骤 . 成功重新接收后,按一下按钮,点击页面上的弹出式div,点击弹出式div提交按钮即可进行最终提交 . 所有提交过程都正常工作,但是当验证码到期时,如果表单在弹出div上空闲超过2分钟,则会抛出错误 . 以下是代码段:

<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>

有人可以帮忙解决这个问题吗?提前致谢 .