AjaxForm пропускает валидацию если делать редирект через af_complete
1. Если все поля в форме заполнены, то форма приходит на почту и сохраняется в FormIt.
2. Если какое-то поле из тех что указано в &validate не заполнено, то форма не приходит на почту и не сохраняется в FormIt, однако редирект срабатывает и мы видим страницу «Спасибо!»
3. Еще почему-то не срабатывает уловка от спама в виде &validate=`nospam:blank`, если поле заполнить, то сообщение всё равно уходит и сохраняется в Formit
AjaxForm вызываю так:
Скрипт для редиректа из инструкции:
2. Если какое-то поле из тех что указано в &validate не заполнено, то форма не приходит на почту и не сохраняется в FormIt, однако редирект срабатывает и мы видим страницу «Спасибо!»
3. Еще почему-то не срабатывает уловка от спама в виде &validate=`nospam:blank`, если поле заполнить, то сообщение всё равно уходит и сохраняется в Formit
AjaxForm вызываю так:
[[!AjaxForm?
&form=`FeedbackForm.tpl`
&hooks=`FormItSaveForm,email`
&emailTpl=`FeedbackTemplate.mail`
&emailSubject=`Сообщение с сайта My.Agency`
&emailTo=`newman-xxx@mail.ru`
&emailFrom=`info@my.agency`
&validate=`phone:required,
name:required,
message:required,
nospam:blank`
&validationErrorMessage=`В форме содержатся ошибки!`
]]
Скрипт для редиректа из инструкции:
<script type="text/javascript">
$(document).on('af_complete', function(event, response) {
var form = response.form;
if (form.attr('id') == 'callback-form') {
window.location.href = "[[~25]]"
}
});
</script>
Памагити… Комментарии: 3
А так?
<script>
$(document).on('af_complete', function(event, response) {
var form = response.form;
if (form.attr('id') == 'callback-form' && response.success) {
window.location.href = "[[~25]]"
}
});
</script>
СПАСИБО!!!
А вот у меня не сработала альтернативная проверка.
Единственное, у моей формы работает валидация на большинстве устройств, а вот у одного сотрудника на Safari 14 проверка не осуществляется и форма переходит на страницу «Спасибо». Сама форма, само собой, не отправляется.
Как думаете, что еще можно сделать? Кроме насильного обновления браузера…
Единственное, у моей формы работает валидация на большинстве устройств, а вот у одного сотрудника на Safari 14 проверка не осуществляется и форма переходит на страницу «Спасибо». Сама форма, само собой, не отправляется.
Как думаете, что еще можно сделать? Кроме насильного обновления браузера…
[[!AjaxForm?
&snippet=`FormIt`
&preHooks=`Formit2AjaxUpload`
&hooks=`AjaxUpload2Formit,AjaxUploadAttachments,pdf,email,FormItAutoResponder`
&ajaxuploadFieldname=`image`
&ajaxuploadTarget=`images/user/`
&ajaxuploadUid=`image`
&form=`tpl_form_ind_member`
&emailTpl=`tpl_email`
&pdfTpl=`tpl_PDF_ind_member`
&cssTpl=`tpl_css_user`
&author=`orgi_ru`
&title=`Заявка: Гештальт-терапевт, действительный член`
&emailSubject=`Заявка: Гештальт-терапевт, действительный член`
&emailTo=`ysilence@yandex.ru,argigt@mail.ru`
&emailFrom=`info@argigt.ru`
&fiarReplyTo=`argigt@mail.ru`
&fiarFrom=`info@argigt.ru`
&fiarSender=`info@argigt.ru`
&fiarFromName=`АРГИГТ`
&fiarTpl=`tpl_email`
&fiarToField=`email_sender`
&fiarSubject=`Анкета на вступление в ассоциацию`
&validate=`email_sender:email:required, fio_sender:required, phone_sender:required, passportNumber_sender:required, passportMVD_sender:required, passportDate_sender:required, adress_sender:required, born_sender:required, workPlace_sender:required, workPost_sender:required, instName_sender:required, instArgigt1_sender:required, instArgigt2_sender:required, instArgigt3_sender:required`
&validationErrorMessage=`Ошибка в форме`
&successMessage=`Сообщение отправлено`
&submitVar=`fizassociate`
]]
И скрипт:$(function(){
$(document).on('af_complete', function(event, response) {
var form = response.form;
if (form.attr('id') == 'form-anketa' && response.success) {
window.location.href = "https://argigt.ru/vasha-zayavka-otpravlena.html"
}
});
});
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.