Показать сообщение отдельно
  #1 (permalink)  
Старый 09.07.2019, 15:16
Аспирант
Отправить личное сообщение для Lutsk Посмотреть профиль Найти все сообщения от Lutsk
 
Регистрация: 24.06.2011
Сообщений: 53

Загрузка invisible reСaptcha при повторной отправке ajax
Есть форма. С видимой каптчей работает корректно. Но если использовать невидимую - первая отправка срабатывает корректно, а при повторной отправке выдает ошибку не отмеченной каптчи.
Знания 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);
Ответить с цитированием