我看了一下這個問題驗證形式的與谷歌驗證碼提交
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語句,檢查我上面的編輯 –
這也行不通。我已在下面發佈了一個工作答案。 –