Не работает AjaxForm
        Здравствуйте!
Подскажите, пожалуйста, в чем моя ошибка. Не работает AjaxForm.
Чанк формы:
Чанк Email:
CSS не прилагаю, так как это не имеет отношения к сниппету.
Буду благодарен за любую помощь. Хотел бы знать, что не так заполнено.
Заранее спасибо!
    
    
                                                                                
            Подскажите, пожалуйста, в чем моя ошибка. Не работает AjaxForm.
Чанк формы:
<form action="" method="post" class="ajax_form af_example">
    <div class="book">
        <div class="book-row">
            <div class="book-row-col">
                <p><span class="book-lbl">ЗАЕЗД</span> </p>
                <p><input id="enter" type="text" name="enter" value="[[+fi.enter]]" class="datepicker"/></p>          
                <p><span class="book-lbl">ФИО</span> </p>
                <p><input id="fio" type="text" name="fio" value="[[+fi.fio]]" class="standart-input"/></p>
                <p><span class="book-lbl">Email</span> </p>
                <p><input id="email" type="text" name="email" value="[[+fi.email]]" class="standart-input"/></p>  
            </div>
            <div class="book-row-col">
                <p><span class="book-lbl">ВЫЕЗД</span> </p>
                <p><input id="out" type="text" name="out" value="[[+fi.out]]" class="datepicker"/></p>
                <p><span class="book-lbl">Телефон</span> </p>
                <p><input id="phone" type="text" name="phone" value="[[+fi.phone]]" class="standart-input"/></p>
                <p><span class="book-lbl">Номер</span> </p>
                <p>
                    <select id="room" name="room" type="text"/>
                        <option value="double" [[!+fi.room:FormItIsSelected=`double`]]>Дабл</option>
                        <option value="twin" [[!+fi.room:FormItIsSelected=`twin`]]>Твин</option>
                        <option value="tripple" [[!+fi.room:FormItIsSelected=`tripple`]]>3-местный</option>
                        <option value="pkdouble" [[!+fi.room:FormItIsSelected=`pkdouble`]]>ПК Дабл</option>
                        <option value="pktwin" [[!+fi.room:FormItIsSelected=`pktwin`]]>ПК Твин</option>
                        <option value="luxe" [[!+fi.room:FormItIsSelected=`luxe`]]>Люкс</option>
                        <option value="studio" [[!+fi.room:FormItIsSelected=`studio`]]>Студия</option>
                    </select>
                </p>  
            </div>
        </div>
        <button type="submit" class="btn btn-primary">[[%af_submit]]</button>
    </div>
</form>Чанк Email:
<h3>Сообщение</h3>
<p>От кого: [[+fio]]</p>
<p>Заезд: [[+enter]]</p>
<p>Выезд: [[+out]]</p>
<p>E-mail: [[+email]]</p>
<p>Телефон: [[+phone]]</p>
<p>Номер: [[+room]]</p>Вызов сниппета:[[AjaxForm? 
&snippet=`FormIt` 
&form=`book` 
&emailTpl=`email` 
&hooks=`email` 
&emailSubject=`Тестовое сообщение` 
&emailTo=`shutruk@gmail.com` 
&successMessage=`Сообщение успешно отправлено` 
&validate=`name:required,email:required ` 
&validationErrorMessage=`В форме содержатся ошибки!` ]]При нажатии выдает сообщение об успешной отправке, но письма не приходят.CSS не прилагаю, так как это не имеет отношения к сниппету.
Буду благодарен за любую помощь. Хотел бы знать, что не так заполнено.
Заранее спасибо!
Комментарии: 5
                Здравствуйте!
Что в логе MODX, нет ли ошибок? Смотрели ли в конслоль браузера, все ли хорошо там? Далее — что возвращает сервер после отправки через ajax? Отправлялись ли письма ранее? Какой у вас хостер, нет ли пожелания от него использовать SMTP для отправки? Если есть сомнения в отправке как таковой попробуйте для начала компонент QuickEmail, отправит ли он тестовое письмо и какой результат?
                    Что в логе MODX, нет ли ошибок? Смотрели ли в конслоль браузера, все ли хорошо там? Далее — что возвращает сервер после отправки через ajax? Отправлялись ли письма ранее? Какой у вас хостер, нет ли пожелания от него использовать SMTP для отправки? Если есть сомнения в отправке как таковой попробуйте для начала компонент QuickEmail, отправит ли он тестовое письмо и какой результат?
                В консоли пусто, в журнале ошибок MODX ничего нет. Насчет хостера также проверял. При использовании штатной формы, которая поставляется вместе с AjaxForm (чанк tpl.AjaxForm.example), письмо отправляется.
Значит, ошибка в моем коде, скорее всего, в коде чанка «book».
Я не нашел документации, как заполнять плейсхолдеры для разных полей, а в моей форме их шесть.
Можно ли использовать такие слова:
[[+fi.enter]]
[[+fi.fio]]
[[+fi.room]]
???
                    Значит, ошибка в моем коде, скорее всего, в коде чанка «book».
Я не нашел документации, как заполнять плейсхолдеры для разных полей, а в моей форме их шесть.
Можно ли использовать такие слова:
[[+fi.enter]]
[[+fi.fio]]
[[+fi.room]]
???
                Про плейсхолдеры вам читать про Formit, он же обрабатывает:
https://docs.modx.com/extras/revo/formit
Если &placeholderPrefix параметр дефолтный, то да, как вы написали выше. Даже с непереданными/неверно переданными плейсхолдерами письмо должно улетать.
                    https://docs.modx.com/extras/revo/formit
Если &placeholderPrefix параметр дефолтный, то да, как вы написали выше. Даже с непереданными/неверно переданными плейсхолдерами письмо должно улетать.
&validate=`name:required,email:required ` тут пробел уберите. Валидация, хотя, и не включена.            Отладка
При возникновении любых проблем, в первую очередь проверяйте, отправляется ли форма без AjaxForm. Помните, что AjaxForm — сниппет-обёртка, он не отправляет письма и не проводит проверку формы. Это делает ваш сниппет или FormIt.
Так же не забывайте заглядывать в консоль браузера на предмет ошибок javascript. Если сервер выдаёт ошибку 500 при отправке, проверьте параметр register_globals у вашего PHP — он должен быть отключен.
                Все заработало, когда набрал заново код. Где-то банальная опечатка была…
Спасибо всем за внимание!
                    Спасибо всем за внимание!
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.