Форма обратной связи с затирающим скриптом
Вообщем такая у меня возникла проблема, скрипт который идет после стандартной процедуры 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>
Комментарии: 3
я как понял скрипт срабатывает быстрее чем форма успевает проработать action из за этого в форме ни чего не остается из данных, но вот как сделать так что бы скрипт срабатывал после отправки?
Изменить событие срабатывания данного скрипта, можно повесить на событие onSuccess если такое у тебя есть.
Сейчас у тебя скрипт срабатывает после нажатия на кнопку.
Также можешь увеличить таймаут с 3 секунд, до 5 например:
Сейчас у тебя скрипт срабатывает после нажатия на кнопку.
Также можешь увеличить таймаут с 3 секунд, до 5 например:
setTimeout(function() {window.location.reload();}, 5000);
Данный прием подходит для ajax формы. А так он ломает стандартную логику FormIt.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.