Вопрос

Мне нужна некоторая помощь в изменении Модуль веб - формы чтобы это могло сработать для моего проекта.Прямо сейчас я использую Webform для одностраничных базовых форм, и это работает великолепно.Что мне нужно, чтобы иметь возможность брать несколько веб-форм и объединять их вместе на основе некоторых начальных выборов, сделанных пользователем.Позвольте мне привести пример.

Пользователь отправляется на веб-форму "Общая информация", где он вводит такие данные, как имя и день рождения.Есть также 3 вопроса с флажками, которые являются:

"У тебя есть дом"

"У тебя есть машина"

"У вас есть дети"

Пользователь может выбрать все, некоторые или ни один из вариантов.В зависимости от того, что выберет пользователь, как только он нажмет кнопку отправки, они будут отправлены в "Форму дома", "Форму автомобиля" и / или "Форму детей".

Когда они закончат заполнять все формы, администратору будет отправлено электронное письмо точно так же, как сейчас это делает webforms.Информацию не обязательно хранить на веб-сайте в базе данных, достаточно электронной почты.

Итак, есть какие-нибудь предложения о том, как это сделать?Было бы более подходящим что-то еще, кроме Webform?Или (если мне очень повезет) уже существует модуль, который делает то, что мне нужно?

Это было полезно?

Решение

Условные поля являются особенностью будущей версии Webform 3.Смотрите связанные проблема и тот бета- версия это было выпущено две недели назад.

Другие советы

Почему бы просто не показать или скрыть элементы формы по мере необходимости, а не перенаправлять на другие, потенциально множественные последующие формы?

Используя следующий (x)html:

<form enctype="form/multipart" method="post" action="">

    <fieldset>

        <legend>Cars:</legend>

        <label for="cars">Do you have one, or more, cars?</label><input name="cars" id="cars" class="test" type="checkbox" />
        <fieldset class="subSection" id="cars">
            <input type="radio" name="numCars" value="1" />One
            <input type="radio" name="numCars" value="2" />Two
            <input type="radio" name="numCars" value="3" />Three
        </fieldset>

    </fieldset>

    <fieldset>

        <legend>Children:</legend>

        <label for="kids">Do you have one, or more, children</label><input name="kids" id="kids" class="test" type="checkbox" />
        <fieldset class="subSection" id="kids">
            <input type="radio" name="numKids" value="1" />One
            <input type="radio" name="numKids" value="2" />Two
            <input type="radio" name="numKids" value="3" />Three
        </fieldset>

    </fieldset>

    <fieldset>

        <legend>Houses:</legend>

        <label for="houses">Do you have one, or more, houses</label><input name="houses" id="houses" class="test" type="checkbox" />
        <fieldset class="subSection" id="houses">
            <input type="radio" name="numHouses" value="1" />One
            <input type="radio" name="numHouses" value="2" />Two
            <input type="radio" name="numHouses" value="3" />Three
        </fieldset>

    </fieldset>

</form>

И jQuery (который можно было бы привести в порядок, но я все еще новичок в этом myself...so боюсь, только "доказательство концепции"):

$(document).ready(
    function() {
        // hide the sub-sections
        $('fieldset.subSection').hide();

        // show subsections onClick of the .test checkboxes
        $('input.test').click(
            function() {
                $(this).next('fieldset.subSection').slideToggle('slow');
            }
        )
    }
);

Живая демо-версия в настоящее время находится по адресу: http://davidrhysthomas.co.uk/so/subForms.html

Создайте пользовательский модуль, который будет перехватывать отправку через hook_nodeapi и перенаправлять на соответствующую форму или страницу...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top