当我在同一页面上有多个时,我想知道如何验证Recaptcha客户端。我找到了这个https://stackoverflow.com/a/28607943/5649602,当我有一个时就可以了。
但是现在我在每个网页上都有一个网站的foooter,还有一个注册表格中的一个,所以有可能同时出现主题。
我很感激任何消化。谢谢。 :)
答案 0 :(得分:14)
验证尽可能多的g-captcha验证的最简单方法
首先,您可以在</head>
代码之前添加api.js,如下所示
<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit"></script>
在HTML中添加此代码
<div class="g-recaptcha-contact" data-sitekey="Your Site Key" id="RecaptchaField2"></div>
<input type="hidden" class="hiddenRecaptcha" name="ct_hiddenRecaptcha" id="ct_hiddenRecaptcha">
<div class="g-recaptcha-quote" data-sitekey="Your Site Key" id="RecaptchaField1"></div>
<input type="hidden" class="hiddenRecaptcha" name="qt_hiddenRecaptcha" id="qt_hiddenRecaptcha">
使用<script>
标记
var CaptchaCallback = function() {
var widgetId1;
var widgetId2;
widgetId1 = grecaptcha.render('RecaptchaField1', {'sitekey' : 'Your Site Key', 'callback' : correctCaptcha_quote});
widgetId2 = grecaptcha.render('RecaptchaField2', {'sitekey' : 'Your Site Key', 'callback' : correctCaptcha_contact});
};
var correctCaptcha_quote = function(response) {
$("#qt_hiddenRecaptcha").val(response);
};
var correctCaptcha_contact = function(response) {
$("#ct_hiddenRecaptcha").val(response);
};
开发人员按照以下
添加Jquery验证的最后一步$("#form_id").validate({
ignore: [],
rules: {
ct_hiddenRecaptcha: { required: true, },
qt_hiddenRecaptcha: { required: true, },
},
});