#javascript #php #forms #recaptcha
#javascript #php #формы #recaptcha
Вопрос:
Я использовал контактную форму на php и добавил в нее Google recaptcha. Но я могу отправить форму без проверки recaptcha. Как я могу сделать этот recaptcha по мере необходимости. Я уже пробовал некоторые решения, но ни одно из них не сработало для меня. Я ценю ваши ответы, спасибо
<form name="contact" method="post" action="" id="fsrep-contact-form">
<table cellspacing="0" cellpadding="1" border="0">
<tr id="fname">
<td>First Name <span>*</span></td>
<td><input type="text" name="fname" required></td>
</tr>
<tr id="lname">
<td>Last Name</td>
<td><input type="text" name="lname"></td>
</tr>
<tr id="emailid">
<td>Email <span>*</span></td>
<td><input type="email" name="email" id="mail" required></td>
</tr>
<tr id="phone-no">
<td>Cell Phone <span>*</span></td>
<td><input type="number" name="phone" required></td>
</tr>
<tr>
<td>Please give us any other details you would like, that would help us to help you find your next home</td>
<td><textarea name="message"></textarea></td>
</tr>
<tr>
<td>
<div class="g-recaptcha" id="rcaptcha" name="googlecaptcha" required data-sitekey="6LffZpsUAAAAAEC_KyN4KauhSSmKdRf9SVR5aVJD" data-callback="correctCaptcha"></div>
</td>
</tr>
<tr>
<td><input type="submit" name="submit" value="SUBMIT INQUIRY" id="submit"></td>
</tr>
</table>
</form>
Комментарии:
1. Кстати, почему вы не используете v3?
2. Вам необходимо проверить, что сообщение captcha верно и что ключ правильный codeforgeek.com/2014/12/google-recaptcha-tutorial
Ответ №1:
Я попробовал это, и это работает для меня:
У вас есть атрибут «data-callback»
<div class="g-recaptcha" id="rcaptcha" name="googlecaptcha" required data-sitekey="YOUR KEY" **data-callback="correctCaptcha"**></div>
просто создайте функцию с именем correctCaptcha
var recaptchachecked=false;
function correctCaptcha() {
recaptchachecked = true;
}
Затем с помощью вашей формы вы удерживаете ее, пока не подтвердите, что переменная recaptchachecked имеет значение true, затем продолжайте.
<form method="post" onsubmit="return isreCaptchaChecked(event)">
..
..
</form>
function isreCaptchaChecked()
{
e.preventDefault();
return recaptchachecked;
}
Надеюсь, это вам поможет.
Комментарии:
1. Я пробовал это, но ничего не происходит, когда я нажимаю на кнопку отправки, независимо от того, проверена captcha или нет. как будто я нажимаю на пустые места.