Навороченная форма обратной связи

Всем привет! Подскажите пожалуйста, как правильно оформить форму обратной связи.

В форме есть элементы checkbox (нужно чтобы приходили только те, где стоят галочки),
и radiobutton (нужно чтобы приходил выбранный).
Также, если текстовые поля не заполнены, чтобы с них ничего не приходило (а то в письме указывается плейсхолдер).
Заранее спасибо всем!

Вот листинг:
<!-- Чанк формы AjaxForm -->
<div class="order">
    <form action="" method="post" class="ajax_form af_example">
        <p><input name="name" id="name" type="text" placeholder="Ф.И.О." value="[[+fi.name]]"/></p>
        <p><input name="email" id="email" type="email" placeholder="Email" value="[[+fi.email]]"/></p>
        <p><input name="phone" id="phone" type="tel" placeholder="Телефон" value="[[+fi.phone]]"/></p>                
        <p>Какие из наших программ вас интересуют (отметьте все подходящие варианты)</p>
        <p><input type="checkbox" id="yasli" name="yasli" value="[[+fi.yasli]]">Ясли</p>
        <p><input type="checkbox" id="sad" name="sad" value="[[+fi.sad]]">Сад</p>
        <p><input type="checkbox" id="podgot" name="podgot" value="[[+fi.podgot]]">Подготовительная группа</p>
        <p><input type="checkbox" id="nachal" name="nachal" value="[[+fi.nachal]]">Начальная школа</p>
        <p><input type="checkbox" id="starsh" name="starsh" value="[[+fi.starsh]]">Старшая школа</p>
        <p><input type="checkbox" id="sred" name="sred" value="[[+fi.sred]]">Средняя школа</p>
        <p>Иное:</p>
        <p><textarea name="inoe" id="inoe" cols="30" rows="10" value="[[+fi.inoe]]"></textarea></p>
        <p>В какой класс пойдёт ребёнок:</p>
        <p><input name="class" id="class" type="number" min="1" max="11" placeholder="Укажите класс" value="[[+fi.class]]"/></p>
        <p>Какие вопросы Вас интересуют?</p>
        <p><input type="checkbox" id="stoim"name="stoim" value="[[+fi.stoim]]">Стоимость обучения</p>
        <p><input type="checkbox" id="skid" name="skid" value="[[+fi.skid]]">Скидки</p>
        <p><input type="checkbox" id="prob" name="prob" value="[[+fi.prob]]">Пробные дни</p>
        <p><input type="checkbox" id="prog" name="prog" value="[[+fi.prog]]">Программа</p>
        <p><input type="checkbox" id="pit" name="pit" value="[[+fi.pit]]">Питание</p>
        <p>Другое:</p>
        <p><textarea name="drug" id="drug" cols="30" rows="10" value="[[+fi.drug]]"></textarea></p>
        <p>Как вы предпочитаете получить ответ:</p>
        <input type="radio" id="potel" name="potel" value="[[+fi.potel]]" checked>По телефону
        <input type="radio" id="poem" name="poem" value="[[+fi.poem]]">По E-mail
        <button type="submit" class="xbutton">[[%af_submit]]</button>
    </form>
</div>

<!-- Чанк письма -->
<p>От кого: [[+name]]</p>
<p>E-mail: [[+email]]</p>
<p>Телефон: [[+phone]]</p>
<h3>Какие из программ интересуют:</h3>
<p>Ясли: [[+yasli]]</p>
<p>Сад: [[+sad]]</p>
<p>Подготовительная группа: [[+podgot]]</p>
<p>Начальная школа: [[+nachal]]</p>
<p>Старшая школа: [[+starsh]]</p>
<p>Средняя школа: [[+sred]]</p>
<p>Иное: [[+inoe]]</p>
<p>В какой класс пойдёт ребёнок: [[+class]]</p>
<p>Какие вопросы Вас интересуют?:</p>
<p>Стоимость обучения: [[+stoim]]</p>
<p>Скидки: [[+skid]]</p>
<p>Пробные дни: [[+prob]]</p>
<p>Программа: [[+prog]]</p>
<p>Питание: [[+pit]]</p>
<p>Другое: [[+drug]]</p>
<p>Как вы предпочитаете получить ответ:</p>
<p>По телефону: [[+potel]]</p>
<p>По E-mail: [[+poem]]</p>

<!-- Вызов формы: -->
[[AjaxForm? &snippet=`FormIt` &form=`order` &emailTpl=`email` &hooks=`email` &emailSubject=`Тестовое сообщение` &emailTo=`putin@gmail.com` &emailFrom=`putin@gmail.com` &successMessage=`Сообщение успешно отправлено` &validationErrorMessage=`В форме содержатся ошибки!`]]
Kiten
04 февраля 2019, 15:56
modx.pro
788
0

Комментарии: 1

Баха Волков
05 февраля 2019, 10:25
+1
Почитайте про phx-фильтры, а в частности про notempty.

P.S. Это один из вариантов решения
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1