Tipp: Submit-Button im Upload-Formular erst anzeigen, wenn Dateien ausgewählt sind
Was die Usability von Upload-Formularen ziemlich beeinträchtigt, sind die zwei Buttons, die man benötigt: Den Dateibrowser-Button und den Submit-Button. Ich erlebe es immer wieder, dass Menschen auf den „Hochladen“-Button klicken und sich wundern, dass nichts passiert. Wenn man das Upload-Formular auch noch mit HTML 5 Drag and Drop-Fähigkeit ausstattet, ist der Submit-Button, sofern noch keine Dateien ausgewählt sind, noch überflüssiger.
So sollte ein Upload-Formular idealerweise aussehen – solange keine Dateien ausgewählt sind, ist der Submit-Button unsichtbar:
Erst wenn man per Dateibrowser eine oder mehrere Dateien ausgewählt hat, erscheint der „Hochladen“-Button:
Und wie macht man das? Ganz einfach: Der Submit-Button kommt in ein Span-Element, das per CSS unsichtbar gemacht wird:
<span id='uploadButton' style='display:none;'><input type='submit' name='hochladen' value='Hochladen' /></span>
Beim Dateibrowser-Button wird das onChange-Event abgefragt. Wenn es aktiv wird, wenn also Dateien ausgewählt wurden, wird das Span-Element, das den Submit-Button beherbergt, sichtbar gemacht:
<input type="file" name="bilddatei[]" multiple="" onchange="document.getElementById('uploadButton').style.display='block'" />
Ähnliche Beiträge:
Liebes Tagebuch (147) Minitipp: Freistellungswerkzeug in Photoshop CS6
Kommentare:
Bei den Kommentaren handelt es sich um fremde Inhalte, die sich „esse est percipi“ nicht zueigen macht. Verantwortlich für den Inhalt eines Kommentars ist der jeweilige Verfasser.
Prinzipiell eine gute Sache, aber inline-Events in 2013? Hm…
Gute Sache, aber ich würde das „Erscheinen“ des Buttons irgendwie animieren, wird sonst ggf. übersehen.
@Johannes: Klar, man könnte das natürlich auch auslagern oder mit einer Javascript-Bibliothek realisieren. Aber ich bin da ganz pragmatisch – je weniger Aufwand, desto besser.
@Hans: Gute Idee, aber da das ganze mit display none/block und nicht mit visibility gemacht wird, sollte es auffallen, dass der Content unterhalb des Buttons um Buttonhöhe nach unten rutscht, wenn der Dateidialog geschlossen wird und der Button erscheint.
PS: Ich habe den Submit-Button jetzt auch mal gestyled – damit sollte es deutlicher sein.
Den Knopf in ein span zu verpacken, scheint überflüssig zu sein. Desweiteren sollte der Knopf sichtbar bleiben, wenn man JavaScript nicht ausführt.
@Heinz: Versuch doch mal, den Button ohne umschließendes span- oder div-Element zu verbergen. Aha.
Und zum zweiten Punkt: Ich biete hier keine 100%-Rundum-sorglos-Komplettpakete an. Wenn jemand meint, er müsse auf User Rücksicht nehmen, die mit Netscape 2.0 surfen oder Javascript deaktiviert haben, kann er mein Exempel selbstverständlich gerne an seine Bedürfnisse anpassen.
Geht einwandfrei ohne span, sowohl das Verstecken wie auch das Einblenden. Warum auch nicht?
Kommentar schreiben:
FAQ (Häufig gestellte Fragen)
Kommentare:
- Michael Preidel zu CookieCrumble Testflight jetzt auch für macOS
- Götz zu CookieCrumble Testflight jetzt auch für macOS
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Henning zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
- Michael Preidel zu Harbor – Sicherer Hafen [Testflight]
Schlagwörter

