Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 13. Juni 2013 07:41

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Formbuilder: Felder optional überspringen

Hallo Ihr Guten,

der Formbuilder hat ja so einige Feldtypen im Angebot. Nicht alle erschließen sich mir.

zB : Ergebnisse an eine festgelegte Formular-Aktion senden.

Was ich speziell suche, wäre eine Möglichkeit, bestimmte Formularfelder optional zu überspringen.

Beispiel:

Am Anfang des Formulars stehen die Optionen "Datei-Upload" oder "Texteingabe". Wenn ich also eine Datei hochladen will, kann ich den Formularabschnitt zur Texteingabe überspringen und gelange zum Rest des Formulares (Name, Anschrift usw). Habe ich keine Datei, springe zum Formularabschnitt "Texteingabe".

Ausschlaggebend dabei ist aber, dass - je nach Auswahl - die Felder Pflichtfelder sind. Wer also "Texteingabe" wählt, muss die jeweilgen Textfelder ausfüllen.

Alternativ gäbe es natürlich die Möglichkeit, zwei Formulare zu erstellen und eine Abfrage vorzuschalten. Allerdings befindet sich das Formular in einem News-Detailtemplate und verarbeitet auch Variablen daraus weiter (zB News-Titel).

Gruß

Beitrag geändert von antibart (13. Juni 2013 08:46)

Offline

#2 13. Juni 2013 11:11

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Formbuilder: Felder optional überspringen

Hmm, soweit ich mich erinnern kann, hatten wir vor nicht all zu langer Zeit schon mal das Thema Formbuilder und das optionale Einblenden von Feldern ... lief dann wohl auf eine jquery Lösung hinaus.

Schon mal hier im Forum danach gesucht?

Offline

#3 13. Juni 2013 11:25

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: Formbuilder: Felder optional überspringen

lief dann wohl auf eine jquery Lösung hinaus.

Auf jeden Fall war's Javsacript wink


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#4 13. Juni 2013 11:39

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: Formbuilder: Felder optional überspringen

Das klingt gut. Danke.

Aber was ist, wenn alle Felder Pflichtfelder wären? Würden dann nicht die "Unsichtbaren" einen Error auslösen?

Offline

#5 13. Juni 2013 13:42

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: Formbuilder: Felder optional überspringen

Würden dann nicht die "Unsichtbaren" einen Error auslösen?

Yepp. Wenn sie leer sind.

Das Problem ist, dass Felder entweder Pflicht oder optional sind. Diese Eigenschaft kann man im FormBuilder nicht davon abhängig machen, ob andere Felder gesetzt sind. Entweder ein Feld ist Pflicht, oder nicht. Wenn es Pflicht ist, dann muss es etwas beinhalten, egal was in anderen Feldern steht. Es gibt kein "Wenn dieses ausgefüllt ist, dann muss auch jenes ausgefüllt sein". Es gibt leider keine Abhängigkeiten zwischen den Feldern. (wäre aber ein cooles Feature)

Ich glaube, ohne massiv am FormBuilder rumzubasteln, wird man das nicht so einfach lösen können.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#6 13. Juni 2013 14:34

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: Formbuilder: Felder optional überspringen

Dachte ich mir doch...

Das "Verstecken" der Felder spielt eigentlich nicht die primäre Rolle. Das Problem ist eher, dass - wenn der User sich für eine Variante entscheidet - die anderen keine Pfllicht mehr sind. Also: will ich Datei hochladen, ist nur Datei hochladen Pflichtfeld und umgekehrt.

Am besten wären tatsächlich zwei Formulare und eine Abfrage, nach der entweder das einer oder das andere gezeigt wird.

Trotzdem vielen Dank.

Beitrag geändert von antibart (13. Juni 2013 14:35)

Offline

#7 13. Juni 2013 15:11

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Formbuilder: Felder optional überspringen

NaN schrieb:

Auf jeden Fall war's Javsacript wink

Ich sags ja - ab 40 geht's steil bergab  ops .

Offline

#8 13. Juni 2013 15:14

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: Formbuilder: Felder optional überspringen

antibart schrieb:

Am besten wären tatsächlich zwei Formulare und eine Abfrage, nach der entweder das einer oder das andere gezeigt wird.

Konnte man mit Formbuilder nicht mehrseitige Formulare erstellen?

Müsste man dann nur noch irgendwie hinbekommen, dass entweder das Formular von Seite 2 oder das Formular von Seite 3 angezeigt wird ...

Offline

#9 13. Juni 2013 16:35

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: Formbuilder: Felder optional überspringen

Man kann einen "Seitenumbruch" einfügen, der einen Weiter-Button erzeugt. Ich fürchte, dass kommt auf das Gleiche raus wie das "Felder verstecken"

Ich vermute - und so habe ich NaN auch verstanden – dass ein FB-Formular immer in sich abgeschlossen ist. Das heißt: Auch wenn ich nur die zweite Seite ausfülle, werden die nicht ausgefüllten Pflichtfelder der ersten Seite rummotzen.

Beitrag geändert von antibart (13. Juni 2013 16:55)

Offline

#10 09. Juli 2013 15:18

akom
hat von CMS/ms gehört
Registriert: 12. Februar 2013
Beiträge: 10

Re: Formbuilder: Felder optional überspringen

Ich hatte mal eine Javascript/jquery-Lösung gebaut.

Das Optionale Feld als Pflichtfeld definieren.

Wenn Checkbox aktiviert dann wird Inputfeld sichtbar und der Inhalt leer (Fehlermeldung wegen nicht ausgefüllt)
Wenn Checkbox deaktiviert dann wird Inputfeld unsichtbar und der Inhalt wird mit "-" gefüllt ( keine Fehlermeldung)


[== html ==]
<input id="checkbox" type="checkbox">
<div class="inputcontainer"><input id="input" type="text"></div>
[== javascript ==]
function AktiviereOptionalesFeld () {

      if ($('#checkbox').attr ('checked')) {

        $(".inputcontainer" ).css ("display", "block");

        if ($("#input" ).val() == "-") {
           $("#input").val ("");
        }

     } else {

        $(".inputcontainer" ).css ("display", "none");
        $("#input" ).val ("-");
     }
}

Offline

#11 09. Juli 2013 17:02

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: Formbuilder: Felder optional überspringen

Ich sage erst mal ungetestet: Danke!

Offline