在我的Recaptcha Google中,为什么提交不起作用?

问题描述

我已经使用了来自Google Recaptcha的这段代码,但是提交不起作用(在Google验证码没反应之后),表单没有提交,也许是因为我为Salesforce添加了自己的操作吗?

    <html>
    <head>
    <script>
  var onSubmit = function(token) {
      console.log('success!');
    };

        var onloadCallback = function() {
          grecaptcha.render('submit',{
            'sitekey' : 'your_site_key','callback' : onSubmit
          });
        };
    </script>
  </head>
  <body>
    <form action="https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" thod="POST">
      <input id='submit' type="submit" value="Submit">
    </form>
    <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
        async defer>
    </script>

      </body>
</html>

我还使用了Google Recaptcha v3,

我的表单已提交,但在服务器端我收到一个空数组。

解决方法

要解决我的问题,我已将其升级到reCaptcha v3,将其集成到我的html代码中要容易得多。 谢谢大家!

,

您的HTML无效。以下代码可能对您有帮助

<!DOCTYPE html>
<html>
   <body>
     <form action="https://webto.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8" method="POST">
              <input id='submit' type="submit" value="Submit">
     </form>
     <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer>
     </script>
     <script type="text/javascript">
        var onloadCallback = function() {
           alert("grecaptcha is ready!");
        };
     </script>
   </body>
</html>