Как остаться в форме обратной связи после отправки сообщения с использованием FormIt?

Здравствуйте!
Столкнулся с проблемой. Суть: подгружаю форму обратной связи с помощью соответствующей кнопки на сайте
Заполняю поля и отправляю сообщение на соответствующую почту. Окно формы обратной связи закрывается, при этом письмо приходит как надо, но я не вижу сообщение об успешной отправке. Посмотреть это сообщение могу только повторно войдя в эту форму.
Вопрос: можно ли сделать так, чтобы после отправки сообщения из формы, форма не закрылась и я увидел сообщение о том, что форма успешно отправлена. Потом я могу принудительно закрыть форму, нажав на крестик или кликнув на поле вне формы. Подскажите, пожалуйста, как это сделать. Форма выглядит следующим образом:

[[!FormIt? 
&hooks=`recaptchav2,email`
&emailTpl=`sentEmailTpl2`
&emailSubject=`Форма обратной связи`
&emailTo=`Vladimir@*********.ru`
&validate=`
nospam:blank,
contact_name:required,
contact_email:email:required,
contact_message:required,
`
&successMessage=`Ваш запрос отправлен!`
]]
 
<div class="container"> <div class="contact-form">
 <h3><i class="fa fa-envelope-o yellow pr-10"></i> <sel>Написать письмо</sel></h3>
  <div class="row">
   <form id="contactForm" action="[[~[[*id]]]]" method="post">
   <input type="hidden" name="nospam" id="nospam" value="">
    <div class="col-md-6 col-sm-6 col-xs-12">
     <input id="name" name="contact_name" type="text" placeholder="Имя*" value="[[!+fi.contact_name]]">
     <span style="color:red">[[!+fi.error.contact_name]]</span>
    </div>
    <div class="col-md-6 col-sm-6 col-xs-12">
     <input id="email" name="contact_email" type="email" placeholder="Email*" value="[[!+fi.contact_email]]">
     <span style="color:red">[[!+fi.error.contact_email]]</span>
    </div>
    <div class="col-md-6 col-sm-6 col-xs-12">
     <input id="phone" type="text" name="contact_tel" placeholder="Телефон" value="[[!+fi.contact_tel]]">
     <span style="color:red">[[!+fi.error.contact_tel]]</span>
    </div>
    <div class="col-md-6 col-sm-6 col-xs-12">
    </div>
    <div class="col-md-12 col-sm-12 col-xs-12">
     <textarea id="otziv" name="contact_message" cols="30" rows="6" placeholder="Запрос">[[!+fi.contact_message]]</textarea>
     <span style="color:red">[[!+fi.error.contact_message]]</span>
    </div>
    <div class="col-md-6 col-sm-6 col-xs-12">
     [[!recaptchav2_render]]
     <span style="color:red">[[!+fi.error.recaptchav2_error]]</span>
    </div>
    <div class="col-md-6 col-sm-6 col-xs-12">
     <input type="submit" value="Отправить"> 
     <h3><p class="form-messege" style="color:green"><sel>[[!+fi.successMessage]]</sel></p></h3>		
    </div>
   </form>   
  </div>
</div> 
[[$PrivacyPolicy]]
</div>
Сергей
10 октября 2023, 16:43
modx.pro
667
0

Комментарии: 3

Артур Шевченко
10 октября 2023, 20:47
0
Использовать асинхронную отправку формы. По умолчанию после отправки формы страница перезагружается, а надо чтобы не. Для этого есть такой компонент как SendIt c подробной документацией и примерами.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
3