Ergebnis 1 bis 6 von 6

Thema: Durch Select-/Dropdownauswahl mit onChange weitere Felder/Hinweise einblenden.

  1. #1
    Contao-Nutzer
    Registriert seit
    14.07.2011.
    Beiträge
    37

    Standard Durch Select-/Dropdownauswahl mit onChange weitere Felder/Hinweise einblenden.

    Guten Morgen zusammen,

    ich finde leider keine passende Lösung zu meinem Problem.
    Vielleicht kan mir jemand helfen.

    In einem Anmeldeformular möchte ich bei "Zahlungsart" folgende 3 Möglichkeiten mit Dropdown oder Selectbox anbieten:

    - Lastschrift
    - Paypal
    - Überweisung

    Nun soll aber bei entsprechender Auswahl auch das passende Angezeigt werden:

    - Lastschrift -> Felder einblenden damit der User die BAnkverbindung eingeben kann.
    - Paypal -> dann entsprechend die Funktion (muss ich mich noch durchlesen).
    - Überweisung -> Der Hinweis mit den Bankdaten wohin überwiesen werden soll.

    Ich weiß das es mit onChange funktioniert, aber wie sieht es bei Contao aus,
    wenn ich ein HTML Feld im Formularerzeuge, wird das dann mitgeschickt?

    Bitte um Hilfe.

  2. #2
    Contao-Nutzer
    Registriert seit
    05.10.2011.
    Beiträge
    45

    Standard

    Hallo,

    nein es wird nicht mitgeschickt, wenn du es per JS erzeugst.

    Ich habe es bis jetzt immer so gelöst, dass ich alle 3 Möglichkeiten bereits im Formulargenerator erstelle, ihnen eine Klasse display:none gebe und das betreffende Feld bei onChange sichtbar schalte.

    Dazu habe ich im Formular die Option gewählt, leere Felder auszulassen, somit kommen die noch versteckten Felder nicht mit in die Mail.

  3. #3
    Contao-Nutzer
    Registriert seit
    14.07.2011.
    Beiträge
    37

    Standard

    Guten Morgen Vamiris,

    vielen Dank für deine Hilfe, durch den Ansatz hab ich mal etwas versucht aber stoße auf das Problem, bei der Auswahl eines Feldes "HTML-Code" kein PHP code eingeben zu können.

    Javascript ist klar, wird im Seitenlayout eingebettet.

    Code:
     <script type="text/javascript">
    
    function sonstiges(){
          if (document.getElementById('ed').value == "lastschrift"){
            document.getElementById('lastschrift').style.display = 'inline';
          }else{
            document.getElementById('lastschrift').style.display = 'none';
          }
          if (document.getElementById('ed').value == "ueberweisung"){
            document.getElementById('ueberweisung').style.display = 'inline';
          }else{
            document.getElementById('ueberweisung').style.display = 'none';
          }
        }
        </script>

    Aber wohin mit diesem Schnippsel

    Code:
                      <form>
                                 <select id="ed" name="zahlungsweise" onchange="sonstiges()">
                                    <option value="">[Bitte w&auml;hlen]</option>
                                    <?php
                                    if ($zahlungsweise == "lastschrift"){                                 
                                          echo "<option value=\"lastschrift\" selected=\"selected\">Lastschrift</option>";
                                          } else {
                                            echo "<option value=\"freunde\">Lastschrift</option>";
                                            }
                                    
                                      if ($zahlungsweise == "ueberweisung"){                                 
                                          echo "<option value=\"überweisung\" selected=\"selected\">&Uuml;berweisung</option>";
                                          } else {
                                            echo "<option value=\"zeitung\">Überweisung</option>";
                                            }
                                  ?>  
                                  </select>
                                </form>

    Der Texteditor löscht alles ab
    Code:
    <?php
    weil es PHP nicht annimt. Ein Template konnt ich auch nicht ändern.
    Als "Modul" passiert mir dasselbe. Hast du eine Lösung für mich?
    Ohne PHP wird das wohl nicht gehen, oder?

    Danke und ein schönes Wochenende.

  4. #4
    Contao-Nutzer
    Registriert seit
    05.10.2011.
    Beiträge
    45

    Standard

    Hallo,

    ja komplett ohne PHP habe ich das gelöst, dass was du machst, also die Fallunterscheidung, was gewählt wurde und was sichtbar geschaltet werden soll.
    Du kannst ja per PHP auch keine Fallunterscheidung während der Laufzeit auswerten, was der User klickt etc.

    Den PHP Code brauchst du ja nicht, alles, was du dort ausgibst, kannst du auch im Formulargenerator über die einzelnen Felder ausgeben.
    Du erstellst also alle möglichen Varianten von Feldern, gibst denen ein Display:none und entfernst dieses per JS, wenn der User seine Zahlungsart gewählt hat.

  5. #5
    Contao-Nutzer
    Registriert seit
    23.08.2012.
    Beiträge
    30

    Standard

    Schon mal über diese Erweiterung nachgedacht?

    http://contao.org/de/extension-list/...010009.de.html

    Muss nicht passen, könnte Dir die Arbeit aber deutlich leichter machen.

  6. #6
    Contao-Nutzer
    Registriert seit
    14.07.2011.
    Beiträge
    37

    Standard

    @ Vamiris: Danke dir, deine Lösung hat funktioniert. :-)

    @ Paddy: Auch diese Erweiterung ist Gold wert und wurde sogar gerade anderweitig eingesetzt. :-)

    Euch beiden vielen Dank.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •