Проблемы с AjaxForm.
Буду рад помощи.
Организовываю отправку форм на почту на MODX. И решил воспользоваться FormIt в связке с AjaxForm. Проблема в следующем. FormIt отправляет на раз, AjaxForm — не отправляет совсем.
Вот вызов ajax
Сначала AjaxForm совсем не работал, по ошибкам в консоли я понял, что версия JQuery
не подходит, понизил версию с 3.1 до 1.7 и о чудо, ошибки в консоле пропали и стали появляться всплывающие сообщения. Однако почта не приходит, даже если сообщение утверждает, что все отлично.
В спаме нет, хостинг не блокирует, ведь с Formit прилетают, да и просто через PHP тоже отлично приходит.
Замечу, что вызов Ajax Form происходит внутри модального окна FancyBox, возможно тут есть какие-то подводные камни…
В общем буду рад если покажите, в каком именно месте я туплю.
Спасибо.
PS. Решил добавить еще один вопрос, все равно он зреет)
Подскажите пожалуйста, как получить контроль над сообщениями успеха или ошибок от AjaxForm?
Я понимаю, что текст их выводится в плейсхолдеры и ими можно воспользоваться как хочешь, но не получается. К примеру взять текст из них и вывести в модальном окне вместо формы. Из чанка, в котором находится форма я совсем убрал их.
Но это ладно, это можно победить покопавшись в скрипте компонента. А вот почему не получается просто вывести текст [[+fi.successMessage]] внутри формы… Что у меня работает неправильно, кроме головы ?)
Организовываю отправку форм на почту на MODX. И решил воспользоваться FormIt в связке с AjaxForm. Проблема в следующем. FormIt отправляет на раз, AjaxForm — не отправляет совсем.
Вот вызов ajax
[[!AjaxForm?
&snippet=`FormIt`
&hooks=`email`
&emailFrom=`noreply@mail.ru`
&form=`tpl.AjaxForm`
&emailTpl=`email_tpl`
&emailTo=`robota.melnik@yandex.ru`
&emailSubject=`Заказ звонка с сайта`
&validate=`name:required`
&validationErrorMessage=`Пожалуйста, заполните поля помеченные *`
&successMessage=`Сообщение успешно отправлено`
]]Сама форма tpl.AjaxForm<form action="[[~[[*id]]]]" method="post" class="form">
<input type="text" name="name" id="name"/>
<button name="submit" class="form_btn">ПЕРЕЗВОНИТЕ МНЕ</button>
</form>Шаблон письма email_tpl<p>От кого: [[+name]]</p>Все упрощено чтобы понять в чем ошибка.Сначала AjaxForm совсем не работал, по ошибкам в консоли я понял, что версия JQuery
не подходит, понизил версию с 3.1 до 1.7 и о чудо, ошибки в консоле пропали и стали появляться всплывающие сообщения. Однако почта не приходит, даже если сообщение утверждает, что все отлично.
В спаме нет, хостинг не блокирует, ведь с Formit прилетают, да и просто через PHP тоже отлично приходит.
Замечу, что вызов Ajax Form происходит внутри модального окна FancyBox, возможно тут есть какие-то подводные камни…
В общем буду рад если покажите, в каком именно месте я туплю.
Спасибо.
PS. Решил добавить еще один вопрос, все равно он зреет)
Подскажите пожалуйста, как получить контроль над сообщениями успеха или ошибок от AjaxForm?
Я понимаю, что текст их выводится в плейсхолдеры и ими можно воспользоваться как хочешь, но не получается. К примеру взять текст из них и вывести в модальном окне вместо формы. Из чанка, в котором находится форма я совсем убрал их.
[[+fi.success:is=`1`:then=`
<div class="alert alert-success">[[+fi.successMessage]]</div>
`]]Оставил только голую форму, однако сообщения упорно всплывают. Но это ладно, это можно победить покопавшись в скрипте компонента. А вот почему не получается просто вывести текст [[+fi.successMessage]] внутри формы… Что у меня работает неправильно, кроме головы ?)
Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Форма tpl.AjaxForm
Шаблон письма email_tpl
А еще можно добавить в вызов ajax, чтобы письма сохранялись в бекенде.
Глухо совершенно, при том что просто FormIt с теми же настройками доставляет в секунду.
Я даже зарегился специально чтобы тебя поблагодарить!!!