Contact Form 7 - Conditional fields

  • Hallo zusammen,

    ich versuche ein Kontaktformular zu bauen, aber es funktioniert nicht so ganz.

    So ist es gedacht:
    Kunde gibt Name, Geburtstag, Beruf ein und wird gefragt, ob er eine weitere Person angeben möchte.
    Bei "ja" sollen wieder die Felder Name, Geburtstag, Beruf sowie die Abfrage kommen.

    1. Problem: Beim Radio-Button ist grundsätzlich "ja" vorausgewählt, egal ob ich hinter default: 0, 1 oder 2 schreibe.
    2. Problem: - Vermutlich ausgelöst durch das 1. Problem - Es werden immer bereits die Felder Name, Geburtstag, Beruf angezeigt, erst wenn man auf "nein" klickt, werden sie ausgeblendet (egal, ob ich es als clear_on_hide anlege oder nicht)
    3. Problem: Ich benötige das ganze als Endlosschleife, d.h. es soll nach jeder Eingabe gefragt werden, ob eine weitere Person angegeben werden soll.

    Die entsprechende Bedingung habe ich unter Conditional fields angelegt.

    Ich hoffe, ich habe es verständlich ausgedrückt... bastel mir meine Formulare ohne großartiges Programmierwissen so zusammen.

    So sieht mein Code derzeit aus:

    <label> Zur Erstellung eines Angebotes benötigen wir folgende Angaben:
    <div class="flex-setup" style="margin-top: 15px;">
    <span style="width: 127px; flex: none; margin-left: 7px;</span>
    <label>[text your-name placeholder "Name"] </label>
    <label>[date your-datum placeholder "Geburtstag"] </label>
    <label>[text your-beruf placeholder "Beruf"] </label>
    </div>

    Möchten Sie eine weitere Person angeben?[radio radio-zweitePerson use_label_element default:0 "ja" "nein"]

    [group group-zweitePerson clear_on_hide]
    <div class="flex-setup" style="margin-top: 15px;">
    <span style="width: 127px; flex: none; margin-left: 7px;</span>
    <label>[text your-name placeholder "Name"] </label>
    <label>[date your-datum placeholder "Geburtstag"] </label>
    <label>[text your-beruf placeholder "Beruf"] </label>
    </div>
    [/group]

    Vielen lieben Dank schonmal im Voraus!
    CORO

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo nature225,

    vielen Dank für die schnelle Antwort.!
    Hm, ja, die Seite hatte ich auch schon gefunden. Aber hier wird die Vorgehensweise mit einem Dropdown-Feld erklärt, bei mir eignet sich ein Radio-Button einfach besser. Ist grundsätzlich wohl auch die gleiche Vorgehensweise, aber mit meinem Problem bin ich hier trotzdem nicht weitergekommen...

  • Ich habe es jetzt nochmal angepasst:

    <label> Zur Erstellung eines Angebotes benötigen wir folgende Angaben:
    <div class="flex-setup"
    <label>[text your-name placeholder "Name"] </label>
    <label>[date your-datum placeholder "Geburtstag"] </label>
    <label>[text your-beruf placeholder "Beruf"] </label>
    </div>
    Möchten Sie eine weitere Person versichern?[radio radio-zweitePerson use_label_element default:0 "ja" "nein"]

    [group group-zweitePerson]
    <div class="flex-setup"
    <label>[text your-name placeholder "Name"] </label>
    <label>[date your-datum placeholder "Geburtstag"] </label>
    <label>[text your-beruf placeholder "Beruf"] </label>
    </div>
    Möchten Sie eine weitere Person versichern?[radio radio-drittePerson use_label_element default:0 "ja" "nein"]
    [/group]

    [group group-drittePerson]
    <div class="flex-setup"
    <label>[text your-name placeholder "Name"] </label>
    <label>[date your-datum placeholder "Geburtstag"] </label>
    <label>[text your-beruf placeholder "Beruf"] </label>
    </div>
    Möchten Sie eine weitere Person versichern?[radio radio-viertePerson use_label_element default:0 "ja" "nein"]
    [/group]

    [group group-viertePerson]
    <div class="flex-setup"
    <label>[text your-name placeholder "Name"] </label>
    <label>[date your-datum placeholder "Geburtstag"] </label>
    <label>[text your-beruf placeholder "Beruf"] </label>
    </div>
    Möchten Sie eine weitere Person versichern?[radio radio-fuenftePerson use_label_element default:0 "ja" "nein"]
    [/group]

    [group group-fuenftePerson]
    <div class="flex-setup"
    <label>[text your-name placeholder "Name"] </label>
    <label>[date your-datum placeholder "Geburtstag"] </label>
    <label>[text your-beruf placeholder "Beruf"] </label>
    </div>
    Möchten Sie eine weitere Person versichern?[radio radio-weiterePersonen use_label_element default:0 "ja" "nein"]
    [/group]

    [group group-weiterePersonen]
    <label>[textarea your-weiterePersonen x3 placeholder "Nennen Sie uns hier bitte Namen, Geburtsdatum und Beruf aller weiterer Personen, die mitversichert werden sollen."] </label>
    [/group]

    Auf meinem Handy wird das Formular nun so angezeigt, wie es sein soll. Auf dem PC irgendwie nicht, Cache habe ich schon gelöscht... Das Problem hatte ich schon öfters...

  • Hi Coro,
    hatte so ein ähnliches Problem auch schon. Ein Fehler sind schon mal die gleichlautenden Feldnamen in den unterschiedlichen Gruppen.
    Auf der Seite des Plugins steht ausdrücklich, dass jeweils unterschiedliche Feldnamen verwendet werden müssen. Ob das dein Problem ganz behebt, weiß ich nicht.
    Karamba

  • hallo Coro, Nature225 und Karamba,

    vielen Dank für diesen interessanten Thread. Konntet Ihr denn die Probleme mittlerweile lösen?!

    Freue mich, von Euch zu hören.

    VG SuedTiroler;)

    Interessen: Linux & SBC allaboutcircuits :: die neuen Knowledge-Base: AFFiNE: There can be more than Notion and Miro. auf affine.pro :: WordPress Ressourcen Entwicklung: auf make.wordpress.org/core/

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!