我看了一下这个问题验证形式的与谷歌验证码提交
How to Validate Google reCaptcha on Form Submit
并试图实现这个问题的答案在我的代码来验证我的形式,所以它不会如果验证码尚未完成,请提交。
然而没有任何反应 - 它只是提交表单。
这是我的代码:
<head>
<script type="text/javascript">
var onloadCallback = function() {
grecaptcha.render('html_element', {
'sitekey' : 'my_site_key'
});
};
</script>
</head>
<div id="html_element"></div>
<br>
<input type="submit" value="Submit" onclick="myFunction">
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer>
function myFunction() {
if(grecaptcha.getResponse() == "")
alert("You can't proceed!");
else
alert("Thank you");}
</script>
谁能帮助?
编辑
<html>
<head>
<script type="text/javascript">
var onloadCallback = function() {
grecaptcha.render('html_element', {
'sitekey' : '6LcWjRITAAAAAKCVz8G8WeG3duXwUqgGZSbJ_2lQ'
});
};
onloadCallback();
$('form').on('submit', function(e) {
if(grecaptcha.getResponse() == "") {
e.preventDefault();
alert("You can't proceed!");
} else {
alert("Thank you");
}
});
</script>
</head>
<body>
<form action="?" method="POST">
<div id="html_element"></div>
<br>
<input type="submit" value="Submit">
</form>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer>
</script>
</body>
我不明白你的代码在所有。什么事件应该引发IF声明? –
好吧,所以我忘了在函数中包装IF语句,检查我上面的编辑 –
这也行不通。我已在下面发布了一个工作答案。 –