Вы не обрабатываете капчу.
Кнопка отправки пытается проверить ответ капчи, как только пользователь завершит капчу, отправив обратный вызов функции, указанной в data-callback
. Поскольку вы не создали компонент, он застрял в al oop.
- Кнопка отправки не может быть тем же тегом, в котором вы загружаете CAPTCHA. Вам необходимо отобразить капчу в пустом теге.
Вместо:
<button id="btnSubmit" class="g-recaptcha" data-sitekey="my_key" data-callback="captachaCallback">Send</button>
Отображать как:
<div id="captcha_element" class="g-recaptcha" data-sitekey="my_key" data-callback="captachaCallback"></div>
Оберните это внутри формы. Он у вас уже есть, поэтому просто измените его.
Поскольку вы указываете, какую функцию следует запускать после завершения проверки, вам не нужно беспокоиться о кнопке отправки.
Структура должна выглядеть примерно так:
<form action="?" method="POST">
/// The other elements in your form
/// ...
<div id="captcha_element" class="g-recaptcha" data-sitekey="my-key" data-callback="captachaCallback"></div>
<br/>
<input id="btnSubmit" type="submit" value="Submit">
</form>
Также обязательно посмотрите документацию;)
https://developers.google.com/recaptcha/docs/display