ReCaptcha:发送验证码时如何自动提交表单

ReCaptcha: How to autosubmit the form when the captcha was send

我想使用 ReCaptcha 在页面上加载一些额外的数据。我希望在输入 ReCaptcha 时自动提交表单。这样我就不需要额外的提交按钮了。问题是 recaptcha 将其内容加载到 iframe 中,因此有点困难。

目前我有这个表格:

<form action="javascript:getInfo(grecaptcha.getResponse(widget1));" >
      <div id="captcha"></div>
      <br>
      <input type="submit" value="Submit">
</form>

如何在提交外部表单的 recaptcha 提交上获得类似事件监听器的东西?

这听起来是个有趣的技巧。它将减少用户的点击和按键操作。这是您可以如何做到这一点,通过监听成功的验证码响应,您将能够跟进所需的操作。这是一个示例和一些文档。 https://developers.google.com/recaptcha/docs/display#example

var RC2KEY = 'sitekey';

function reCaptchaVerify(response) {
  if (response === document.querySelector('.g-recaptcha-response').value) {
    document.forms['form-name'].submit();
  }
}

function reCaptchaExpired() {
  /* do something when it expires */
}

function reCaptchaCallback() {
  grecaptcha.render('id', {
    'sitekey': RC2KEY,
    'callback': reCaptchaVerify,
    'expired-callback': reCaptchaExpired
  });
}
<script src='https://www.google.com/recaptcha/api.js?onload=reCaptchaCallback&render=explicit'></script>

使用#代替?

? 用于开始查询字符串并且会混淆 method=GET 类型的响应。 # 是锚符号,可以使用。