recaptcha как получить зеначение для отправки формы по ajax

09.06.2021

Мы все периодически периодически используем reCAPTCHA от google, она удобная и простая. Но, по умолчанию, он рассчитана на отправку вместе со всем данными формы. Подробнее можно прочить в статье использование reCAPTCHA

Но что делать, если у нас идет отправка данных через Ajax форму?

Итак, не буду долго ходить вокруг и около, нам потребуется метод grecaptcha.getResponse()

Пример использования:

 
$.ajax({
	type: "POST",
	url: "/?task=email.send",
	data:
		{
			id_form: 1,
			jform_name: $("#form_name").val(),
			jform_email: $("#form_email").val(),
			jform_text: $("#form_name").val(),
			recaptcha: grecaptcha.getResponse()
		},
}).done(function( data ) {
    ...
});

Также стоит, перед отправкой формы, проверять, что пользователь поставил галочку:

 


if(grecaptcha.getResponse().length == 0)  {
  // галочка НЕ поставлена
} else {
  // можно отправлять форму
}


Яндекс.Метрика