Форма обратной связи с затирающим скриптом

Вообщем такая у меня возникла проблема, скрипт который идет после стандартной процедуры Formit не дает отсылать письма мне на почту либо отсылает письмо которое последний раз успешно пришло, пока скрипта не было:
[[!FormIt?
   &hooks=`spam,email`
   &emailTpl=`email_tpl`
   &emailTo=`мояпочта@gmail.com`
   &emailSubject=`Письмо с сайта [[++site_url]]`
   &validate=`user:required,email:email:required,phone:required`
   
]]

[[!+fi.error_message:notempty=`<p>[[!+fi.error_message]]</p>`]]
<div class="orderPage">
    <div id="feedback">
    <Form class="space" method="post" action="[[~[[+id]]]]">
            <h3>Хотите узнать подробности?</h3>
            <p>Имя
<input name="user" type="text"></p>
            <span class="error">[[!+fi.error.user]]</span>
            <p>Телефон
<input name="phone" type="text"></p>
            <span class="error">[[!+fi.error.email]]</span>
            <p>E-mail
<input name="email" type="text"></p>
            <span class="error">[[!+fi.error.phone]]</span>
            <p>Выберите тему фотосессии
<select name="select">
              <option>Индивидуальная</option>
              <option>Семейная</option>
              <option>Свадебная</option>
              <option>Другая</option>
            </select></p>
            <p>Дополнительная информация
<input name="note" type="text"></p>
            <p>Желаемые дата и время съемки
<input name="date" type="text" placeholder="ГГГГ-ММ-ДД"><input name="time" type="text" placeholder="00:00"></p>
            <p><input type="submit" value="Отправить"></p>
    </Form>
    <script>
                        $( ".space input[type=submit]" ).click(function() {
                            $(".space").animate({height:'140px'}, 500);
                            //$(".space").html("<h3>Спасибо! В ближайшее время мы свяжемся с вами</h3>");
                            setTimeout(function() {window.location.reload();}, 3000);
                        });
    </script>
</div>
</div>
Александр
27 февраля 2016, 14:26
modx.pro
860
+1

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

Александр
27 февраля 2016, 18:13
0
я как понял скрипт срабатывает быстрее чем форма успевает проработать action из за этого в форме ни чего не остается из данных, но вот как сделать так что бы скрипт срабатывал после отправки?
    Роман Садоян
    27 февраля 2016, 18:22
    +1
    Изменить событие срабатывания данного скрипта, можно повесить на событие onSuccess если такое у тебя есть.
    Сейчас у тебя скрипт срабатывает после нажатия на кнопку.

    Также можешь увеличить таймаут с 3 секунд, до 5 например:

    setTimeout(function() {window.location.reload();}, 5000);
    Сергей Шлоков
    28 февраля 2016, 08:26
    0
    Данный прием подходит для ajax формы. А так он ломает стандартную логику FormIt.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3