修改Webform模块

时间:2010-02-26 23:15:00

标签: php drupal drupal-webform

我需要一些帮助来修改Webform Module,以便它可以适用于我的项目。 我现在使用Webform作为单页,基本表单,它的工作非常精彩。 我需要能够根据用户的一些初始选择将多个webforms并将它们串在一起。 让我举个例子。

用户被发送到“常规信息”网络表单,在那里他们输入名称和生日等信息。复选框还有3个问题:

“你有房子吗”

“你有车吗?”

“你有孩子吗”

用户可以选择全部,部分或全部选项。根据用户选择的内容,一旦按下提交按钮,他们将被发送到“房屋表格”,“汽车表格”和/或“儿童表格”。

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

那么,有关如何做到这一点的任何建议? Webform之外的其他东西会更合适吗?或者(如果我是超级幸运的话)做了一个能够完成我需要的模块吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

条件字段是即将推出的Webform版本3的一项功能。请参阅两周前发布的相关issuebeta version