我正在尝试使用表单验证google reCAPTCHA如果reCAPTCHA为false它应该显示警告并且按钮应该变为false我尝试了一些代码但是它的工作没有人知道吗?
这是我的代码
@FindBy()
答案 0 :(得分:9)
您需要在事件中触发if
声明。这很简单:
$('form').on('submit', function(e) {
if(grecaptcha.getResponse() == "") {
e.preventDefault();
alert("You can't proceed!");
} else {
alert("Thank you");
}
});
请参阅此处的工作示例:JSFiddle
在JavaScript中执行此操作的问题在于,用户可以根据需要轻松伪造结果。如果您真的想要检查用户是否是机器人,您仍应使用reCAPTCHA密钥比较服务器端用户提交的结果(通过POST)。
答案 1 :(得分:0)
要检查是否已选中google recaptcha v2,可以通过以下代码进行操作:
var checkCaptch = false;
var verifyCallback = function(response) {
if (response == "") {
checkCaptch = false;
}
else {
checkCaptch = true;
}
};
$(document).ready(function() {
$("#btnSubmit").click(function() {
if (checkCaptch && grecaptcha.getResponse()!="") {
//Write your success code here
}
});
})