New Species Devblog
Aufbau von Formularen

Eine der wichtigsten Bestandteile von Antville sind die zahlreichen Formulare. Bisher bestehen sie aus Tabellen, die schwierig mit CSS zu beeinflussen sind. In Zukunft werden sie allerdings durch ein <div>-basiertes Layout ersetzt.

Grundsätzlich habe ich bisher 2 Formulartypen definiert. Zum einen gibt es Label-Input-Formulare. Sie bestehen zum Großteil aus Textlabels und simplen Texteingabefeldern. Am Ende findet sich noch ein Submit-Button zum Absenden. Jede Zeile wird in ein <div> mit der CSS-Klasse „row“ verpackt. Innerhalb der Zeile wird mit Hilfe von CSS das Label-Element linksbündig ausgerichtet mit einer fixen Breite. Über die Klassen „w140“, „w160“, „w200“, usw. werden die Breiten der Labels definiert. Dies kann bei besonders kurzen bzw. langen Labels notwendig sein. Interessant ist diese Formatierung für die unterschiedlichen Sprachversionen, da durch eine kleine Änderung im Standardlayout die Breiten an die Textlängen angepasst werden können. Hier ein Beispiel:

<form id="myDemoForm" method="post" action="myAction">
<div class="form">
   <div class="row">
      <label for="myFormField">
         <% gettext "Label for the input field" suffix=":" %>
      </label>
      <input type="text" name="myFormField" id="myFormField" />
   </div>
    
   <!-- some more rows with input fields... -->
    
   <div class="row">
      <button type="submit" id="submit" name="register" value="1">
         <% gettext Register %>
      </button>
   </div> 
</div>
</form>

/** CSS-Auszug **/ .form .row label:first-child { width: 160px; display: inline-block; }

.form .row .col { display: inline-block; }

.w100 { width: 100px; }

Der zweite Typ sind Listenansichten mit mehreren verbunden Aktionen. Ein Beispiel: Eine Liste aller Fotos inkl. der Aktionen „Bearbeiten“, „Umbenennen“ und „Löschen“ auf der rechten Seite. Hier gibt es ein <hr /> zum Trennen der einzelnen Listeneinträge, danach folgt ein <div class="details"> mit allen Informationen zum Eintrag und darauf folgt eine Liste mit den zur Verfügung stehenden Optionen. Damit sollte auch die Zugänglichkeit für Screenreader etc. deutlich verbessert werden.

<hr class="listSeparator" />
<div class="listNavigationItem">
   <div class="details">
      <h2><% membership.name %></h2>
      <p><em><% membership.role %></em></p>
      <p><% membership.user.url | link %></p>
   </div>

   <ul>       <li>Editieren</li>       <li>Bearbeiten</li>       <li>Löschen</li>    </ul> </div>

Da ich noch nicht alle Skins und Formulare überarbeitet habe, können sich noch weitere Typen heraus kristallisieren. Allerdings scheinen diese beiden Varianten die am häufigsten vorkommenden zu sein und damit ein Großteil der Formulare auf Antville abdecken.

... Link


Online for 5302 days
Last modified: 14.05.11, 01:17
Status
Youre not logged in ... Login
Menu
... Home
... Tags

Suche
Calendar
November 2024
So.Mo.Di.Mi.Do.Fr.Sa.
12
3456789
10111213141516
17181920212223
24252627282930
Mai
Recent updates
Hipstagraphy Kurzer Einwurf: Hipstagraphy ist
ein erster Testlauf für ein mögliches neues Grundlayout (ohne Tapete...
by Botic (14.05.11, 00:38)
Devblog-Launch - You're welcome! Wie
vielleicht einige schon mitbekommen haben, arbeite ich gerade an einem...
by Botic (31.05.10, 00:15)
Browserunterstützung Firefox, Chrome, Safari, Opera:
Prinzipiell sollte es überhaupt keine Probleme mit diesen Browsern geben....
by Botic (31.05.10, 00:07)
Aufbau von Formularen Eine der
wichtigsten Bestandteile von Antville sind die zahlreichen Formulare. Bisher bestehen...
by Botic (30.05.10, 23:01)
Progressive Enhancement Die letzten Monate
hat sich eine neue Denkweise in die Webdesignwelt eingenistet. Vor...
by Botic (30.05.10, 19:25)

RSS feed

Made with Antville
Helma Object Publisher