Question

J'ai besoin d'aide modifiant le Webform module afin qu'il puisse travailler pour mon projet. J'utilise Webform en ce moment pour une seule page, les formes de base, et il fonctionne à merveille. Ce que je dois être en mesure de prendre plusieurs webforms et les enchaîner en fonction de certaines sélections initiales utilisateur fait. Permettez-moi de donner un exemple.

L'utilisateur est envoyé à un « Informations générales » formulaire en ligne, où ils ont mis des choses comme le nom et l'anniversaire. Il y a aussi 3 questions avec cases qui sont:

"Avez-vous une maison"

"Avez-vous une voiture"

"Avez-vous des enfants"

L'utilisateur peut sélectionner tout, certains, ou aucune des options. Sur la base de ce que l'utilisateur sélectionne, une fois sur le bouton Envoyer, ils seront envoyés à la « forme House », « sous forme de voiture » et / ou « forme enfants ».

Quand ils fait remplir tous les formulaires, un email est envoyé à l'administrateur comme webforms fait maintenant. Les informations n'a pas besoin d'être stockés sur le site dans la base de données, l'e-mail suffit.

Alors, des suggestions sur la façon de le faire? Est-ce que quelque chose d'autre que Webform plus approprié? Ou (si je suis super chanceux) fait un module qui fait ce que je besoin existent déjà?

Était-ce utile?

La solution

champs conditionnels sont une caractéristique de la prochaine version Webform 3. Voir et < a href = "http://drupal.org/node/713184" rel = "nofollow noreferrer"> version bêta qui a été publié il y a deux semaines.

Autres conseils

Pourquoi ne pas simplement montrer ou cacher, les éléments de formulaire selon les besoins, plutôt que de rediriger vers d'autres, potentiellement multiples formes suivantes,?

En utilisant les éléments suivants (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>

Et le jQuery (qui pourrait être rangeais, mais je suis encore nouveau à moi-même ... donc « preuve de concept » seulement, j'ai peur):

$(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');
            }
        )
    }
);

Démo en direct actuellement situé à: http://davidrhysthomas.co.uk/so/subForms.html

Créer un module personnalisé, qui va attraper envoyer par hook_nodeapi et rediriger vers la page ou la forme appropriée ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top