1

我需要一些帮助来修改Webform 模块,以便它可以用于我的项目。我现在将 Webform 用于单页、基本表单,而且效果非常好。我需要能够根据用户所做的一些初始选择来获取多个网络表单并将它们串在一起。让我举个例子吧。

用户被发送到“一般信息”网络表单,他们在其中输入姓名和生日等信息。还有 3 个带有复选框的问题,它们是:

“你有房子吗”

“你有车吗”

“你有小孩吗”

用户可以选择所有、一些或不选择任何选项。根据用户的选择,一旦他们按下提交按钮,他们将被发送到“房屋表格”、“汽车表格”和/或“儿童表格”。

当他们填写完所有表格后,会向管理员发送一封电子邮件,就像现在的 webforms 一样。信息不需要存储在网站的数据库中,电子邮件就足够了。

那么,关于如何做到这一点的任何建议?除了 Webform 之外的其他东西会更合适吗?或者(如果我非常幸运)是否已经存在一个可以满足我需要的模块?

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://davidrhystomas.co.uk/so/subForms.html

于 2010-02-27T00:42:43.387 回答
0

创建自定义模块,它将通过 hook_nodeapi 捕获提交并重定向到正确的表单或页面......

于 2010-02-27T00:47:16.733 回答
0

条件字段是即将发布的 Webform 版本 3 的一个功能。请参阅相关问题和两周前发布的beta 版本。

于 2010-02-27T07:30:46.030 回答