<script src="https://www.google.com/recaptcha/api.js?render={{ recaptcha_site_key }}"></script>
<script>
$(function () {
var $recaptchaResponse = $('#{{ recaptcha_input_id }}');
$recaptchaResponse.val('');
var $recaptchaForm = $recaptchaResponse.closest('form');
var $submitButton = $recaptchaForm.find('[name=mode][value=complete]');
var submitButtonClicked = false;
$submitButton.click(function (e) {
submitButtonClicked = true;
});
$recaptchaForm.submit(function (e) {
if (submitButtonClicked && !$recaptchaResponse.val()) {
e.preventDefault();
grecaptcha.ready(function () {
grecaptcha.execute('{{ recaptcha_site_key }}', { action: '{{ recaptcha_action }}' }).then(function (token) {
$recaptchaResponse.val(token);
$submitButton.click();
});
});
}
});
})
</script>