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

HTML-Validierung mit Firefox Es gehört heutzutage zum guten Ton, Kunden validen HTML-Quelltext auszuliefern. Jede andere Art der Auslieferung von Webseiten würde ich einmal frech ...
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 ...
Mozilla Thimble – HTML & CSS lernen Meine persönliche Meinung ist ja, das Mozilla anstatt sich auf den Browser zu konzentrieren, in den diversesten Nebenprojekten aufreibt. Teilweise kom...
Responsive Emails mit MJML für alle Clients Responsive Emails für zum Beispiel Newsletter sind eine schlimme Sache. Man könnte sogar sagen: HTML in E-Mails ist generell eine noch schlimmere Sach...

Schreibe einen Kommentar

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