Есть форма. С видимой каптчей работает корректно. Но если использовать невидимую - первая отправка срабатывает корректно, а при повторной отправке выдает ошибку не отмеченной каптчи.
Знания JS у меня посредственные, - пробовал и grecaptcha.reset() где только можно, и grecaptcha.execute() - безрезультатно.
В общем нужна помощь в этом вопросе. Вот код JS:
(function ($) {
$(document).ready(function () {
$('body').on('submit', 'form[name="form_ajax"]', function () {
var form = $(this),
messages = $(form).find('.messages');
$.ajax({
type: 'POST',
dataType: 'json',
url: $(form).attr('action'),
data: $(form).serializeArray(),
beforeSend: function () {
$(messages).hide();
$(messages).find('.message').hide().html('');
},
complete: function () {
if (typeof grecaptcha !== 'undefined' && grecaptcha && grecaptcha.reset) {
grecaptcha.reset();
}
},
success: function (response) {
if (response.success) {
$(messages).find('.message.success').html(response.messages.success.join('<br />')).show();
$(form)[0].reset();
}
else {
$(messages).show();
$(messages).find('.message.error').html(response.message.replace(/\n/g, '<br />')).show();
}
$(messages).show();
},
error: function (response) {
$(messages).find('.message.error').html(response.status + ':' + response.statusText).show();
$(messages).show();
}
});
return false;
});
});
})(jQuery);