Сбросить контактную форму recaptcha 7

У меня есть несколько форм (контактная форма 7) на странице и вам нужно сбросить recaptcha после отправки формы через ajax. Я проверил API recaptcha, и у него есть grecaptcha.reset(); но он сбрасывает только первую recaptcha на странице.

Ниже приведен метод нацеливания конкретной recaptcha в соответствии с API recaptcha:

 grecaptcha.reset( opt_widget_id ) 

Проблема здесь в том, что я не могу ухватиться за экземпляр (opt_widget_id) recaptcha, потому что он создается контактной формой 7.

Как я могу получить opt_widget_id на странице с несколькими формами, чтобы я мог сбросить конкретную recaptcha.

Поскольку recaptcha создается контактной формой 7 без присвоения отображаемой recaptcha переменной, было невозможно использовать grecaptcha.reset (opt_widget_id). Вот что сделано:

 $(".wpcf7-submit").click(function(event) { var currentForm=$(this).closest("form"); $( document ).ajaxComplete(function(event,request, settings) { var responseObj=JSON.parse(request.responseText); if(responseObj.mailSent==true){ //reset recaptcha var recaptchaIFrame=currentForm.find("iframe").eq(0); var recaptchaIFrameSrc=recaptchaIFrame.attr("src"); recaptchaIFrame.attr("src",recaptchaIFrameSrc); } }); }); 

Я очистил источник iframe и переназначил тот же src, чтобы он перезагружал recaptcha после его отправки.

Я надеюсь, что это помогает кому-то !

Я сделал это, добавив ниже код в «Дополнительные настройки» контактной формы.

 on_sent_ok: "grecaptcha.reset()" 

Надеюсь, это поможет другим