Webform modülü değiştirme

3 Cevap php

I need some help modifying the Webform Module so that it can work for my project. I use Webform right now for single page, basic forms, and it works wonderfully. What I need to be able to take multiple webforms and string them together based on some initial selections a user makes. Let me give an example.

Kullanıcının, adı ve doğum günü gibi şeyler koymak bir "Genel Bilgiler" Webform, gönderilir. Check-kutuları ile 3 sorular da vardır:

"Bir ev var mı"

"Eğer bir araba var mı"

"Çocuklarınız var mı"

Kullanıcı tüm, bazıları veya seçeneklerden hiçbiri seçebilirsiniz. Onlar submit düğmesine bir kez kullanıcı, seçtiği ne dayanarak, onlar "Evi form", "Araba formu" ve / veya "Çocuklar formu" gönderilecektir.

Hepsi formları doldurarak bittiğinde, bir e-posta şimdi sadece web formlari gibi admin yapar gönderilir. Bilgiler veritabanında sitesinde saklanmasına gerek yoktur, e-posta yeterlidir.

Peki, bunu nasıl herhangi bir öneriniz? Webform yanı sıra başka bir şey daha uygun olurdu? Ya da (Ben süper şansım varsa) ne gerek zaten hangi bir modül mevcut mu geliyor?

Herhangi bir Yardım takdir!

3 Cevap

Koşullu alanları yaklaşan Webform sürüm 3 bir özelliğidir. Bkz ilgili issue ve beta version iki hafta önce serbest bırakıldı.

Neden sadece göstermek veya gizlemek, gerektiği gibi şekil unsurları yerine başka, potansiyel-çoklu müteakip, formları yönlendirmek değil?

Aşağıdaki (x) html kullanarak:

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

Ve (derli toplu, ama ben 'kavramının kanıtı' sadece, korkarım ... ona kendimi yeni hâlâ olabilir) 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: şu anda bulunan canlı demo

Özel modül oluşturma, bu hook_nodeapi üzerinden göndermek yakalamak ve uygun formda ya da sayfaya yönlendirir ...