AjaxForm перезагружает страницу
Проблема такая, я делаю вызов AjaxForm на странице и при отправке перезагружает страницу.
Вот чанк с вызовом AjaxForm
Шаблон чанка newContactForm_tpl
Шаблон чанка mailchunk
Выдает следующий лог ошибок
Вот чанк с вызовом AjaxForm
[[!AjaxForm?
&snippet=`FormIt`
&form=`newContactForm_tpl`
&hooks=`recaptchav2,spam,FormItSaveForm,email,emailUser,infotable,redirect`
&emailTo=`****@yandex.ru`
&formName=`Новая контактная форма`
&emailSubject=`Rest-vm: [[+theme]]`
&emailFromName=`[[+name]]`
&emailTpl=`mailchunk`
&validate=`
name:required:minLength=`2`,
email:email:required,
theme:required:minLength=`5``
&successMessage=`<p>Спасибо, Ваше сообщение отправлено.</p>`
]]
Шаблон чанка newContactForm_tpl
[[!+fi.successMessage]]
<div>[[+fi.error.error_message]]</div>
<form action="[[~[[*id]]]]" method="post" class="contactform" id="contactform" enctype="multipart/form-data" onsubmit="validate()">
<input type="hidden" name="nospam:blank" value="" />
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<div class="left">
<div>
<input type="text" name="name" id="name" value="[[+fi.name]]" required placeholder="Имя" data-rules="* l>=3"/>
<span>[[+fi.error.name]]</span>
</div>
<div>
<input type="text" name="email" id="email" value="[[+fi.email]]" required placeholder="Email" data-rules="* @"/>
<span>[[+fi.error.email]]</span>
</div>
<div>
<input id="contact_phone_NA_format" name="contact_phone_NA_format" size="14" value="[[+fi.contact_phone_NA_format]]" maxlength="15" placeholder="Телефон"/>
<span>[[+fi.error.contact_phone_NA_format]]</span>
</div>
<div>
[[!recaptchav2_render]]
[[!+fi.error.recaptchav2_error]]
</div>
</div>
<div class="right">
<div>
<input type="text" name="theme" id="theme" required data-rules="* l>=5"value="[[+fi.theme]]" placeholder="Тема письма"/>
<span>[[+fi.error.theme]]</span>
</div>
<div>
<textarea name="message" id="message" cols="55" rows="7" placeholder="Текст">[[+fi.message]]</textarea>
</div>
<div class="file 1">
<input type="file" value="[[!+fi.file]]" name="file" accept="image/*">
</div>
<div class="file 2" style="display:none">
<input type="file" value="[[!+fi.file2]]" name="file2" accept="image/*">
</div>
<div class="file 3" style="display:none">
<input type="file" value="[[!+fi.file3]]" name="file3" accept="image/*">
</div>
<div class="file 4" style="display:none">
<input type="file" value="[[!+fi.file4]]" name="file4" accept="image/*">
</div>
<div>
<input type="submit" value="Отправить" name="Submit"/>
</div>
</div>
</form>
Шаблон чанка mailchunk
Имя: [[+name]]
Email: [[+email]]
Телефон: [[+contact_phone_NA_format]]
Тема: [[+theme]]
Текст: [[+message]]
Файлы:
[[+file]]
[[+file2]]
[[+file3]]
[[+file4]]
Выдает следующий лог ошибок
[2017-02-02 13:36:52] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in be37d16719141e75dd2a7e73bfd8f85a line 695
[2017-02-02 13:36:52] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in be37d16719141e75dd2a7e73bfd8f85a line 695
[2017-02-02 13:36:52] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in 1e80624d695257fbbd5767b9547777b0 line 695
[2017-02-02 13:37:20] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/cache/includes/elements/modsnippet/23.include.cache.php : 29) An error occurred while trying to send the email:
[2017-02-02 13:37:20] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in be31c5285de3d9f9d3d6ed3ab076659f line 695
[2017-02-02 13:37:20] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in be31c5285de3d9f9d3d6ed3ab076659f line 695
[2017-02-02 13:37:20] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in 0d7ae39afb04dd415e00d51822d5eb35 line 695
[2017-02-02 13:37:29] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in 624be82deedefa0adde903cb949c1037 line 395
[2017-02-02 13:37:29] (ERROR @ /var/www/restvm/data/www/rest-vm.ru/core/components/pdotools/model/pdotools/pdotools.class.php : 940) {set} and {add} accept only variable in 624be82deedefa0adde903cb949c1037 line 395
Комментарии: 11
Уберите hook redirect
Не помогло, всё равно перезагружает страницу.
form action="[[~[[*id]]]]"
попробуйте action пустой оставить.
Эх, тоже не помогло.
У меня обычно такое бывает, если в консоли браузера есть ошибки javascript. Так что советую проверить.
Ошибок JS нет.
Была подобная проблема, но потом оказалось, что я просто забыл поставить FormIt.
Да, я тоже об этом думал, проверил но нет, всё стоит.
уведомление есть?
может jquery не подключена? или не подгружается библиотека уведомления ошибки или отправки
UPD проверьте на отдельной странице чистую, базовую форму заявки ajaxform, и если все ок, смотрите шаблон, если и она не отправляет то пробовать перестановку компонента, все ли обновления модулей, проверять консоль браузера
может jquery не подключена? или не подгружается библиотека уведомления ошибки или отправки
UPD проверьте на отдельной странице чистую, базовую форму заявки ajaxform, и если все ок, смотрите шаблон, если и она не отправляет то пробовать перестановку компонента, все ли обновления модулей, проверять консоль браузера
На отдельной странице работает хорошо, но сначала выдавал ошибку, поменял версию jquery и ошибка пропала, но на самом сайте, просто поменять jquery не помогло. Найти проблему не удалось.
Нашел проблему. Мешал tFormer, не знаю почему, но когда отключил, проблема решилась.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.