Javascript 检测/侦听google recaptcha提交?

Javascript 检测/侦听google recaptcha提交?,javascript,forms,recaptcha,Javascript,Forms,Recaptcha,我试着在网上搜索,但什么也没找到 我需要检查用户何时提交recaptcha并从中发送表单(例如,还充当提交按钮)我知道谷歌的recaptcha是iframed的,所以我想知道如何才能做到这一点: 实际使用javascript在本地侦听提交事件并提交表单 在我的php服务器中聆听提交,然后将请求的结论传达给我的用户 我希望1是可能的,因为第二个会给臀部带来巨大的疼痛。有没有人知道如何做到这一点,最好是通过方法1?看看这个 使用javascript在本地侦听提交事件并提交表单 您希望听取reCapt

我试着在网上搜索,但什么也没找到

我需要检查用户何时提交recaptcha并从中发送表单(例如,还充当提交按钮)我知道谷歌的recaptcha是iframed的,所以我想知道如何才能做到这一点:

  • 实际使用javascript在本地侦听提交事件并提交表单
  • 在我的php服务器中聆听提交,然后将请求的结论传达给我的用户
  • 我希望1是可能的,因为第二个会给臀部带来巨大的疼痛。有没有人知道如何做到这一点,最好是通过方法1?

    看看这个

    使用javascript在本地侦听提交事件并提交表单

    您希望听取reCaptcha提交并发送表单。然后看我对类似问题的回答:

    重要的 重要的是,只有当google服务器验证成功时,您才需要提交表单。答案中的代码可以解决这个问题:

    success: function( data  ) {  
                    var res = data.success.toString(); 
                    if (res)
                       { document.myform.submit(); }    
                }  // end success 
    

    谷歌提供了验证验证码的功能。您需要在允许您的表单提交之前进行验证。有关更多详细信息,请参阅他们的文档:

    我的设置如下所示:


    只指后端,我要前端。在接下来的回答中,请至少提供您感兴趣的部分,而不仅仅是一个链接,如果您阅读了文档。这里是具体的链接。recaptcha不是默认的iframed,当它没有检测到javascript时,它会回退到iframce版本
    var RC2KEY = 'sitekey';
    function reCaptchaVerify(response) {
        if (response === document.querySelector('.g-recaptcha-response').value) {
            /* do something */
        }
    }
    
    function reCaptchaExpired () {
        /* do something when it expires */
    }
    
    function reCaptchaCallback () {
        grecaptcha.render('id', {
            'sitekey': RC2KEY,
            'callback': reCaptchaVerify,
            'expired-callback': reCaptchaExpired
        });
    }