我尝试使用新的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,它是空的。
我错了什么?