1

プロジェクトで機能するように、 Webform モジュールを変更するための助けが必要です。私は現在、単一ページの基本的なフォームに Webform を使用していますが、素晴らしく機能します。複数の Web フォームを取得し、ユーザーが行った最初の選択に基づいてそれらをつなぎ合わせるために必要なもの。例を挙げましょう。

ユーザーは、名前や誕生日などを入力する「一般情報」Web フォームに送信されます。次のチェックボックス付きの 3 つの質問もあります。

"家がありますか"

"あなたは車を持っています"

"子どもはいますか"

ユーザーは、すべてのオプションを選択することも、一部を選択することも、まったく選択しないこともできます。ユーザーが選択した内容に基づいて、送信ボタンを押すと、「家のフォーム」、「車のフォーム」、および/または「子供のフォーム」に送信されます。

すべてのフォームへの入力が完了すると、現在の Web フォームと同じようにメールが管理者に送信されます。情報はウェブサイトのデータベースに保存する必要はなく、電子メールで十分です。

それで、これを行う方法に関する提案はありますか?Webフォーム以外の何かがより適切でしょうか? または(私が非常に幸運であれば)私が必要とすることを行うモジュールはすでに存在しますか?

4

3 に答える 3

1

必要に応じてフォーム要素を単純に表示または非表示にしないのはなぜですか?

次の (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(これは整頓されている可能性がありますが、私自身はまだ新しいので、「概念実証」のみです。恐れています):

$(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

于 2010-02-27T00:42:43.387 に答える
0

hook_nodeapiを介して送信をキャッチし、適切なフォームまたはページにリダイレクトするカスタムモジュールを作成します...

于 2010-02-27T00:47:16.733 に答える
0

条件付きフィールドは、今後の Webform バージョン 3 の機能です。関連する問題と2 週間前にリリースされたベータ版を参照してください。

于 2010-02-27T07:30:46.030 に答える