google recaptcha和一页问题中的2个或更多表格

时间:2015-11-26 13:03:24

标签: javascript jquery html recaptcha

我尝试使用新的google recaptcha。

我在一个页面中有多个表单。所以我想为每个表单定义一个recpatcha。

我也希望通过jQuery发送表单...

所以我这样做:

第一

.\node_modules\.bin\electron-rebuild.cmd

以下是示例表单代码:

<script src="//www.google.com/recaptcha/api.js?hl=fa&onload=CaptchaCallback&render=explicit" async defer></script>
    <script type="text/javascript">
    var CaptchaCallback = function(){
        grecaptcha.render('RecaptchaField1', {'sitekey' : '<?php echo SITERECAPTCHAT;?>'});
        grecaptcha.render('RecaptchaField2', {'sitekey' : '<?php echo SITERECAPTCHAT;?>'});
    };
    </script>

最终的jquery代码:

<form id="form1">  //form 1
<div id="RecaptchaField1"></div>
</form>

<form id="form2">  //form 2
<div id="RecaptchaField2"></div>
</form>

现在在jquery的目标页面中,如果我打印$ _post:

$.post('index.php?id=form1', {
        recaptcha: $('#g-recaptcha-response').val(),
        async: true
       }).done(function(data){...


$.post('index.php?id=form2', {
        recaptcha: $('#g-recaptcha-response').val(),
        async: true
       }).done(function(data){...

对于form1,它打印recaptcha值。所以它有效。

但是对于表单2,它是空的。

我错了什么?

1 个答案:

答案 0 :(得分:0)

由谷歌指南解决。

https://developers.google.com/recaptcha/docs/display

希望帮助其他人解决同样的问题。