Abhängigkeiten in Formularen mit dependsOn

Es kristallisiert sich immer mehr heraus das man aufgrund der UX in komplexen Formularen Abhängigkeiten einführt. Ein einfaches (wenn auch durchaus sehr altes) Beispiel ist der Radiobutton „Andere Lieferadresse eingeben“, falls sich diese von der Rechnungsadresse unterscheidet. Bisher habe ich diesbzgl. Aktionen immer manuell programmiert, man könnte nun aber auch dependsOn dafür nehmen.

Eigentlich blende ich inzwischen regelmäßig Teilbereiche von Formularen mit Radiobuttons ein oder aus. Das gleiche gilt aber auch für das Read-Only-Attribut oder das automatische Befüllen für Inputs in Abhängigkeit zu anderen Feldern. Ein recht einfaches Code-Beispiel in dependsOn sähe zum Beispiel wie folgt aus. Das Markup:

<form id="basicTest">
	<label>
		<input type="checkbox"> Check me
	</label>
 
	<input type="text" class="subject">
</form>

Und das zugehörige JavaScript:

$('#basicTest .subject').dependsOn({
	'#basicTest input[type="checkbox"]': {
		checked: true
	}
});

Es lassen sich Abhängigkeiten auf alle Input-Elemente anwenden. So zum Beispiel auch auf Multiselects die Abhängigkeiten je nach Auswahl auslösen können. Das Projekt findet ihr auf GitHub, und es besitzt auch eine eigene Homepage.

Ähnliche Beiträge

Backgrounds für Grid Based Layouts Okay, ich gebe zu, der Titel ist maximal mystisch, passt aber ;) Ich glaube zum Grid Based Design brauche ich nichts mehr zu sagen, und es gibt ja auc...
CAPTCHA für Suchmaschinen Eine interessante Idee ist bei mir im Google Reader rein geflattert. Verstehen kann man sie allerdings erst wenn man sich vor Augen hält, was ein Bot ...
HTML-Tables mit jQuery Ich hoffe ihr benutzt Tabellen nur noch zur Datenvisualisierung, und nicht mehr für das Design! ;) Aber zumindest dort sind sie unumgänglich. Dummerwe...
jQuery Form Wizard Web-Formulare können einfach sein, aber auch ganz schön komplex werden. Besonders eklig können diejenigen werden, die auf mehrere Seiten aufgeteilt we...

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.