Ergebnis 1 bis 22 von 22

Thema: Formularfelder nebeneinander anordnen

  1. #1
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard Formularfelder nebeneinander anordnen

    Hi,

    habe ein Problem mit dem Formulargenerator. Ich habe mir ein neues Formular erstellt, das ist ja nicht so schwierig. Nun habe ich jedoch das Problem, das ich die Felder gerne nebeneinander anordnen will.

    Also zum Beispiel: Plz und Ort nebeneinander, Vorname und Nachname nebeneinander.

    Gibts hier eine Möglichkeit?, wie ich das möglichst sauber umsetzen kann?

    Vielen Dank und beste Grüße

  2. #2
    Contao-Fan Avatar von Michael
    Registriert seit
    19.06.2009.
    Beiträge
    479

    Standard

    Habe ich noch nie gebraucht, aber ich denke dazu ist das "tabellenlose Layout" im Forumlagenerator da.

    Grüsse
    Michael
    Contao ist echt !

  3. #3
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Jap... leider schaffe ich das mit der Ausrichtung nicht, hat da evtl. jemand ein Beispiel wie ich das so CSS mäßig umsetzen kann?

  4. #4
    Contao-Fan Avatar von Michael
    Registriert seit
    19.06.2009.
    Beiträge
    479

    Standard

    Hast du einen Link?
    Contao ist echt !

  5. #5
    Contao-Fan
    Registriert seit
    19.06.2009.
    Beiträge
    827

    Beitrag

    ich habe wahrscheinlich nicht alle Styles erwischt, aber prinzipiell so:
    Code:
    #kontakt label 
    {
      width:100px;
      float:left;
      clear:both;
      display:block;
    }
    #kontakt input, #kontakt select, #kontakt textarea
    {
      width:230px;
      float:left;
    }
    Viel Erfolg
    ChrMue

  6. #6
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Jau hab ich http://cbvision.de/ ... dort sind die beiden Textfelder, die sollen nebeneinander angezeigt werden.

    Vielen Dank und beste Grüße

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nimm mal das tabellenlose Layout, das dürfte dann mit CSS zu formatieren sein. Mit der Tabelle, das wird nicht gehen, da müsstest du das Template so umschreiben, dass jeweils 4 Zellen nebeneinander gerendert werden. Sag Bescheid, wenn du auf tabellenlos umgestellt hast, so dass wir versuchen können 2 Felder nebeneinander zu bekommen. Mach bitte insgesamt 4 Felder, sonst klappt es nachher mit 2, aber nicht mit 4.

    Andreas

  8. #8
    Contao-Fan Avatar von Michael
    Registriert seit
    19.06.2009.
    Beiträge
    479

    Standard

    Zitat Zitat von Michael Beitrag anzeigen
    Habe ich noch nie gebraucht, aber ich denke dazu ist das "tabellenlose Layout" im Forumlagenerator da.
    Ja, du hast bei deinem Link noch nicht auf das tabellenlose Layout umgestellt.
    (Option beim Formulargenerator)

    Grüsse
    Michael
    Contao ist echt !

  9. #9
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi,

    hoppla hatte ich wohl leider vergessen, ist nun korrigiert! http://cbvision.de/ ... wäre super wenn jemand eine Lösung für mein Problem hätte, ich steh da wirklich auffm Schlauch!..

    Beste Grüße

  10. #10
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ein erster Ansatz wäre
    Code:
    br {
      display: none;
    }
    Andreas

  11. #11
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.614
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    ... und dann kannst Du dem Form-Element Klassen mitgeben, die die Anordnung regeln, ob eine Umbruch folgen soll oder nicht, ob das Feld sichtbar ist oder ausgeblendet werden soll, usw.

    Diese Klassen kannst Du dann in Deinem CSS entsprechend einstellen.

  12. #12
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi,

    habe jetzt mal die br's auf display:none gesetzt, leider scheitere ich immer noch an der Ausrichtung der Felder. Wäre echt super, wenn mir jemand kurz ein kleines Beispiel geben würde, wie ich die Felder richtig ausrichte ...

    Vielen Dank und beste Grüße

  13. #13
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.614
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo typo,

    ganz einfaches Beispiel:
    Feld 1: Feldname='vorname', Feldbezeichnung='Name', CSS-Klasse='clr col_0'
    Feld 2: Feldname='nachname', Feldbezeichnung leer, CSS-Klasse='col_1'

    Das CSS dazu:
    Code:
    #formular br
    {
        float:left;
        display:none;
    }
    #formular label.clr
    {
        clear:both;
    }
    #formular label,
    #formular input.text
    {
    	float:left;
    }
    #formular input.col_0
    {
    	margin-right:20px;
    }
    Durch die Klassen col_0 und col_1 kannst Du mit CSS beliebig 'quasi' tabellarisch positionieren, die Klasse clr definiert den Beginn einer neuen Zeile. Für ganz spezielle Positionierungen kannst Du weitere Klassen vergeben.
    #formular soll beispielhaft die CSS-ID des Formulars sein, damit nicht generell alle Formulare die gleichen Attribute bekommen.

    (Ich hoffe ich habe beim Reduzieren meines Formulars nichts vergessen - ist nicht ausprobiert)

  14. #14
    Contao-Fan
    Registriert seit
    09.09.2009.
    Beiträge
    366

    Standard

    Hi Hagen,

    vielen Dank für deine Hilfe, nun klappt es problemlos!...

    Vielen Dank und beste Grüße

  15. #15
    Contao-Nutzer
    Registriert seit
    24.11.2009.
    Ort
    Stuttgart
    Beiträge
    98

    Standard

    Hi,

    habe versucht, das nach obigem Beispiel umzusetzen. Allerdings sollen nun Beschriftung (label) und Formularfeld (input) in einer separaten Zeile stehen.

    die Angabe #formular_me label{display:block;} bleibt wirkungslos.

    Das restliche CSS für das Formular sieht folgendermaßen aus:

    Code:
    #formular_me form{width:470px;}
    #formular_me br{float:left;display:none;}
    #formular_me label.clr{clear:both;}
    #formular_me label,#formular_me input.text{float:left;}
    #formular_me input.text,#formular_me textarea{padding-left:0;vertical-align:middle;font-family:Arial, Helvetica, sans-serif;font-size:10pt;color:#000;}
    #formular_me input.col_0{margin-right:40px;}
    Wäre für Tipps sehr dankbar.
    Viele Grüße,
    closeup

  16. #16
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Okay, ich hab es jetzt selbst über einen Umweg gelöst:

    Habe das Template angepasst und das Input Element wird nun vom Label umschlossen, so dass ich die beiden Elemente (Input und zugehöriges Label) schon einmal gruppiert ansprechen kann.

    Dann habe ich aus dem normalen Span und dem Mandatory-Span einfach ein Span gemacht (Ist für meine Zwecke so ausreichend). Daraufhin weise ich dem Span-Element im Label einfach display:block zu und so funktioniert es recht schön und sollte auch semantisch einwandfrei sein.

    So sieht mein Template nun aus:
    Code:
    <?php if ($this->label): ?>
     <label for="ctrl_<?php echo $this->id; ?>" class="<?php echo $this->class; ?>">
       <span class="capt_lab <?php if ($this->mandatory): ?>mandatory<?php endif; ?>"><?php echo $this->label; ?><?php if ($this->mandatory): ?><strong>*</strong><?php endif; ?></span>
       <?php endif; ?> 
    <?php echo $this->generateWithError(); ?>
    <?php if ($this->label): ?></label>
    <?php endif; ?> <br />
    Geändert von Nikolas (11.01.2010 um 15:40 Uhr)

  17. #17
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Hm, okay.

    Soweit man alle Pflichtfelder vernünftig ausfüllt und das Formular verschickt klappt alles ganz toll mit meiner Lösung.
    In welchem Template find ich nun aber die Fehler Absätze. Wenn nach dem Absenden die Fehler angezeigt werden wird scheinbar auf ein anderes Template zugegriffen.
    Die Input-Elemente befinden sich dann nicht mehr innerhalb des Label-Tags und die p error Absätze ebenfalls nicht.

    Hoffe mir kann da einer helfen.

  18. #18
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    <input> darf sich nie im <label> befinden. Das Template dazu heißt form_widget.tpl, ab der nächsten Version wird aber alles besser.

    Sebastian

  19. #19
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Darf es nicht?
    Hättest du nen Link für mich? Dann bin ich nämlich arg falsch informiert und muss meine Lösung ja doch wieder überdenken... *argh*

    Inwiefern wird sich was ändern in der neuen Version? Zufällig die Tickets zur Hand, wenn nich is auch nich wild - guck ich halt selbst

  20. #20
    Contao-Urgestein Avatar von Sebastian
    Registriert seit
    19.06.2009.
    Ort
    Stuttgart
    Beiträge
    3.361

    Standard

    HI

    sorry, da finde ich auch nichts. Aber ich kenne es nur so:

    HTML-Code:
    <label for="feldname">Text</label><input id="feldname" />
    Vielleicht geht es auch anders.

    Zu den Änderungen: #1179, #1082, #939.

    Sebastian

  21. #21
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Hast recht ich kannte das eigentlich auch nur so wie von dir beschrieben, irgendwo hatte ich die andere Variante dann mal aufgeschnappt.

    Sie funktioniert soweit auch und ist sogar valide.
    Hab dennoch was gefunden was dir Recht gibt und mich veranlasst eine andere Lösung zur Positionierung zu finden:

    Warnhinweis: Implizite Labels

    Nach den Spezifikationen ist es zulässig, das Label um das Kontrollelement herum zu legen, statt es ihm vor- oder nachzustellen. Hiermit könnte man sich als Webentwickler die Zuweisung über id="" und for="" sparen, da das Label nun durch diese Verschachtelung implizit zugeordnet ist:

    <label>Text:<input type="text"></label>

    Soweit die Theorie. Die Unterstützung für diese Variante ist jedoch selbst in aktuellen assistiven Programmen eher lückenhaft und daher nicht zu empfehlen. Die zum Zeitpunkt der Veröffentlichung aktuelle Version 7.1 des verbreiteten Screenreaders JAWS hat bis dato Probleme mit impliziten Labels, obwohl diese bereits seit 1997 Bestandteil der HTML 4-Empfehlung sind. So werden implizite Labels für Checkboxen und Radiobuttons sogar im Formularmodus nicht vorgelesen, bei Textfeldern ist dies nach Aussage von Nutzern "»Glückssache«". Um maximale Kompatibilität zu garantieren, sollten Sie auf die zuerst beschriebene Form der expliziten Verknüpfung zurückgreifen.

    Falls Sie aus irgendwelchen Gründen gezwungen sein sollten, implizite statt explizite Labels zu benutzen, so können Sie den Label-Text in einem title-Attribut des jeweiligen Kontrollelementes wiederholen. In diesem Fall lesen JAWS, Window Eyes & Co. den Text des title-Attributs, sobald das Kontrollelement den Fokus erhält.
    Quelle:http://www.einfach-fuer-alle.de/arti...html-elemente/

    Valide ist es aber definitiv: Quelle
    Danke für den Hinweis und die Links zu den Tickets. Ist schon mal ne gute Sache mit den Änderungen, bin gespannt auf die finale Version und kann Sie auch gut gebrauchen.

    Schönen Gruß
    Geändert von Nikolas (11.01.2010 um 17:27 Uhr)

  22. #22
    Contao-Fan Avatar von Nikolas
    Registriert seit
    22.08.2009.
    Ort
    Lehe
    Beiträge
    493
    User beschenken
    Wunschliste

    Standard

    Mal davon abgesehen würde mich weiterhin interessieren wo ich die Anordnung der p class error ändern kann. Jemand noch ne Idee?

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Antworten: 28
    Letzter Beitrag: 21.07.2021, 17:43
  2. Produkte zufällig anordnen
    Von Ale im Forum isotope
    Antworten: 4
    Letzter Beitrag: 11.02.2011, 19:21
  3. Backendmodule anordnen
    Von Rastafanda im Forum Entwickler-Fragen
    Antworten: 9
    Letzter Beitrag: 30.10.2010, 19:45
  4. Zwei Elemente dynamisch untereinander anordnen
    Von Flie... im Forum Sonstiges zu Contao
    Antworten: 3
    Letzter Beitrag: 20.10.2009, 21:47

Lesezeichen

Lesezeichen

Berechtigungen

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