Пожалуйста помогите решить проблему.
Есть форма обратной связи вида:
<form action="javascript:void(null);" onsubmit="call2()" method="post" id="formmessage2">
.....
.....
<div class="text-danger" id="recaptchaError"></div>
<div class="g-recaptcha" data-sitekey="XXXXXXXXXXXXX"></div>
<button class="button-send">Отправить сообщение</button>
</form>
Есть скрипт:
<script type="text/javascript" language="javascript">
function call2 () {
var msg = $('#formmessage2').serialize();
var formValid = true;
var captcha = grecaptcha.getResponse();
if (!captcha.length) {
$('#recaptchaError').text('* Вы не прошли проверку "Я не робот"');
} else {
$('#recaptchaError').text('');
}
//отправляем форму
if ((formValid) && (captcha.length)) {
$.ajax({
type: 'POST',
url: 'message.php',
data: msg,
success: function (data) {
$('#results').html(data);
$('.modal-wrapper').removeClass('visible');
$('.modal-closed').removeClass('visible');
jQuery('#formmessage2')[0].reset();
grecaptcha.reset();
},
error: function (xhr, str) {
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
}
}
</script>
При нажатии на кнопку "Связаться" открывается модальное окно, пользователь заполняет данные проходит проверку капчей и отправляет сообщение. При таком сценарии все работает.
Но если пользователь откроет модальное окно, затем закроет и откроет повторно через какое то время recaptcha не будет отображенна и при попытке отправить сообщение будет отображена строчка "Вы не прошли проверку "Я не робот". По каким то причинам капча не хочет подгружаться при повторном открытии модального окна (остальные поля грузятся нормально) помогает только очистка кеша (ctrl + F5). Но для клиентов это не выход. Как можно решить такую проблему?