Sven Rautenberg: <input type="file"> mit grafischem Button?

Beitrag lesen

Moin!

kennt jemand eine Möglichkeit bei einem <input type="file"> Tag den "Durchsuchen" Button durch einen eigenen (grafischen Button zu ersetzen?

Für den IE 5 hab ichs so gelöst:
Ich habe also das <input type="file"> Tag durch ein stinknormales
<input type="text"> und einen normalen Button ersetzt (welche man ja bekannterweise durch css, etc... selbst gestalten kann.

Das Dumme ist nur, dass der Netscape 6.2 bei mir (Win2k) die click() Methode auf das file-input-objekt nicht unterstützt (d.h. es öffnet sich das Dateieingabe Fenster nicht)

Du spielst da ein gefährliches Spiel.

Gewöhnlicherweise ist der Dateiauswahlbutton ein sehr wichtiges Element in einem Formular. Es ist zumindest für den Benutzer extrem wichtig, denn durch das (je Browser) identische Aussehen ist gewährleistet, daß er sich immer bewußt ist, daß er bei Benutzung dieses Formularelements eine Datei aus seinem privaten Bereich an andere Leute sendet.

Ich kann mir gut vorstellen, daß aus diesem Grunde in Browsern gewisse Dinge mit diesem Formularelement nicht machbar sind. Dazu zählt unter anderem die Unmöglichkeit der Vorbelegung mit einem Wert (Opera erlaubt das, zeigt aber vor dem Abschicken des unveränderten Formulars eine deutliche Warnmeldung an - ich frage mich, ob das sich nicht auch mal wieder ändern könnte, sobald Schindluder damit getrieben wird), und offenbar auch die Unmöglichkeit, per Javascript einen Klick zu simulieren.

Deshalb der Rat: Wenn du Dateien hochladen lassen willst, mußt du gezwungenermaßen das Aussehen und Verhalten des Dateiauswahlknopfes hinnehmen. Nur dann ist gewährleistet, daß die Benutzer hinreichend informiert sind über die potentiellen Auswirkungen ihres Handelns. Daß der IE eine alternative Methode (die ja, wie du zugeben wirst, auch eher krumm als glatt ist) zuläßt, spricht gegen diesen Browser.

- Sven Rautenberg