Google Recaptcha不支持fancybox ajax弹出窗口

时间:2017-11-09 11:01:35

标签: fancybox recaptcha fancybox-2

Google Recaptcha无法处理fancybox ajax生成的表单。

1 个答案:

答案 0 :(得分:1)

终于找到了解决方案。 Bellow代码对我来说很好。

  1. 包括Google Recaptcha api js

    <script src="https://www.google.com/recaptcha/api.js"></script>
    
  2. 添加元素Html

     <div class="g-recaptcha" id="recaptcha" ></div>
    
  3. 添加脚本

    <script type="text/javascript">
      $(document).ready(function() {
        $("[element_id_or_class]").fancybox({
           padding     : 0,
           maxWidth : 800,
           maxHeight    : 600,
           fitToView    : false,
           width        : 'auto',
           height       : 'auto',
           autoSize : true,
           openEffect   : 'none',
           closeEffect  : 'none',           
           ajax: {
             complete: function(jqXHR, textStatus) {
                grecaptcha.render('recaptcha', {
                    sitekey: [RECAPTCHA_SITE_KEY],
                    callback: function(response) {
                        console.log(response);
                    }           
                });
            }
          }
        });
     });
     </script>