首先,我在这里找到了这种方法:How do I show multiple recaptchas on a single page?
我尝试使用与此处提到的相同的方法,但是没有做到这一点。在我的情况下,我使用的是一个typo3-instance,它必须在同一页面上有多个(2)recaptchas。
如上面的答案所述,我在<head>
<script src="//www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>
然后是棘手的部分,我想,这就是我陷入困境的地方:
我尝试使用建议的JS-snippet,但那并没有做任何事情。我把JS代码放在一个js文件中,也放在我的模板中,看看这个位置是否会引起麻烦。然而,没有任何效果。
这是我使用的JS代码(现在取自模板文件)
<script type="text/javascript">
var CaptchaCallback = function () {
console.log("arrived");
$('.g-recaptcha').each(function (index, el) {
grecaptcha.render(el, {'sitekey': 'my-key'});
});
};
这就是我试图重新显示我的收据的方式:
<div class="g-recaptcha" data-sitekey="{settings.recaptcha.sitekey}" id="recaptcha_{field.uid}"></div>
最终会出现这样的事情:
<div class="g-recaptcha" data-sitekey="abc-" id="recaptcha_21"></div>
我的js-console也没有错误......
有什么想法吗?