Я хочу использовать reCAPTCHA для своей формы. Пользователь должен заполнить форму и нажать «Отправить». После этого под кнопкой «Отправить» должна появиться reCAPTCHA.
Как я могу это сделать?
Я хочу использовать reCAPTCHA для своей формы. Пользователь должен заполнить форму и нажать «Отправить». После этого под кнопкой «Отправить» должна появиться reCAPTCHA.
Как я могу это сделать?
Если бы мне нужно было что-то подобное, я бы, вероятно, предварительно загрузил reCAPTCHA в диалоговое окно jQuery.
Я думаю, что пользователь может быть сбит с толку тем, что капча просто появляется на странице случайным образом, когда он нажимает кнопку, но появление диалогового окна для подтверждения некоторой информации не является чем-то необычным.
Мне просто нужно было сделать то, что вы хотели, поэтому сначала держите reCaptcha скрытой и покажите ее при отправке.
Поэтому я скрыл это с помощью CSS:
div[id*='g-recaptcha'] {display:none}
А затем показал это с помощью jQuery, когда кто-то начинает заполнять форму, поэтому в фокусе поля ввода:
$(".YOUR_CLASS_WRAPPER input").focus(function() {
$(".YOUR_CLASS_WRAPPER div[id*='g-recaptcha']").css("display","block");
});
Если вы используете контактную форму 7, вам нужно немного измениться. Здесь я использую код @Mike с небольшими изменениями.
Класс-оболочка «Контактная форма 7» — это wpcf7-form-control-wrap
recaptcha
(два класса), и он находится в контейнере span
, поэтому вам нужно использовать такой стиль. Здесь нет пробелов между двумя классами.
span.wpcf7-form-control-wrap.recaptcha {
display:none;
}
Добавьте id:submit
к кнопке отправки, используя тег формы в окне контактной формы 7. И используйте идентификатор здесь.
[submit id:submit "Submit"]
$("#submit").focus(function() {
$(".wpcf7-form-control-wrap.recaptcha").css("display","block");
});