Frage

Ich brauche Hilfe Ändern der Webform Modul , so dass es für mein Projekt arbeiten. Ich benutze Webform jetzt für einzelne Seite, Grundformen, und es funktioniert wunderbar. Was ich brauche, um der Lage sein, ein Nutzer mehrere Webformulare und reihen sie zusammen nimmt, basierend auf einigen anfänglichen Auswahl. Lassen Sie mich ein Beispiel geben.

Der Benutzer wird auf eine „Allgemeine Informationen“ webform geschickt, wo sie in Dingen wie Name und Geburtstag setzen. Darüber hinaus gibt es drei Fragen mit Check-Boxen, die sind:

"Haben Sie ein Haus"

"Haben Sie ein Auto"

"Haben Sie Kinder"

Der Benutzer kann alle auswählen, einige oder keine der Optionen. Nach dem, was der Benutzer auswählt, sobald sie den Absenden-Button drücken, werden sie zum „Haus Form“ geschickt werden, „Autoform“ und / oder „Kinder bilden“.

Wenn sie fertig sind alle Formulare ausfüllen, wird eine E-Mail an den Administrator gesendet wie webforms jetzt nicht. Die Informationen auf der Website nicht in der Datenbank gespeichert werden muss, die E-Mail genügt.

So, irgendwelche Vorschläge, wie dies zu tun? Würde etwas anderes als Webform besser geeignet sein? Oder (wenn ich bin super glücklich) hat ein Modul, das tut, was ich brauche, gibt es bereits?

War es hilfreich?

Lösung

Bedingte Felder sind ein Merkmal der kommenden Webform Version 3. Siehe die zugehörige Ausgabe und der < a href = "http://drupal.org/node/713184" rel = "nofollow noreferrer"> beta-Version , der vor zwei Wochen veröffentlicht wurde.

Andere Tipps

Warum einfach nicht zeigen oder verbergen, die Formularelemente wie erforderlich, anstatt Umleitung auf andere, potentiell mehr aufeinanderfolgende, Formularen?

Mit dem folgenden (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>

Und die jQuery (was in Ordnung gebracht werden könnte, aber ich bin es immer noch neu ich ... so ‚Proof of Concept‘ nur, ich habe Angst):

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

Live-Demo können derzeit unter: http://davidrhysthomas.co.uk/so/subForms.html

Erstellen von benutzerdefinierten Modul, wird diese fangen über hook_nodeapi und Umleitung auf die richtige Form einreichen oder eine Seite ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top