Fabian: Neue Browser erlauben FILE-Feld-Leerung nicht?

Beitrag lesen

Mir ist gerade etwas sehr ungewöhnliches bei der neuen Browsergeneration aufgefallen... Es geht hauptsächlich um den FF (habe Version 3.0.1, auf Vista) und den IE 8 (Beta, auf XP). Chrome macht es noch ein bisschen anders.

Das Verhalten der input type="file"-Felder hat sich ja sehr stark geändert. D.h. man kann nicht mehr händisch im Textfeld neben dem "Durchsuchen"-Button den lokalen Pfad bearbeiten, um eine Datei in einem Formular hochzuladen.
Wenn man irgendwo in den sensitiven Bereich des Formulars klickt, geht sofort das OS-spezifische "Durchsuchen"-Fenster auf, damit man die gewünschte Datei auswählt.

Aber entweder verstehe ich dieses Verhalten nicht oder mir ist etwas durch die Lappen gegangen:

Hat man einmal eine Datei ausgewählt, die man hochladen möchte, hat man ein Problem:
Der FF erlaubt nur noch das Auswählen einer neuen Datei im Durchsuchen-Fenster. D.h. man kann es nicht mehr leeren! Den IE 8-Entwicklern ist das Problem am neuen Verhalten scheinbar aufgefallen und sie haben eine Hintertür gebastelt. Man muss das Durchsuchen-Fenster öffnen und wenn man das Fenster dann dazu bringt eine negative Rückmeldung an den Browser zu senden (entweder durch Klicken auf den Button "Abbrechen" oder auf das x zum Schließen des Fensters), löscht er einfach mal den vorherigen Inhalt aus dem Pfadfeld. Obwohl ich dieses Verhalten auch komplett unlogisch finde (welcher DAU findet das?), ist es immerhin ncoh besser als dass man es gar nicht mehr leeren kann.
Chrome hat gar kein textfeld mehr, wo der Pfad angezeigt wird. Auch hier geht das Löschen nur noch durch eine negative Rückmeldung des Durchsuchen-Fensters an den Browser.

Wenn man sich dann mal ein bisschen Gedanken über die Konsequenzen macht, ist das verheerend. ... Ein User, der ein langes Formular ausgefüllt hat, füllt das FILE-INPUT-Feld versehentlich mit einer Datei und möchte es dann wieder rückgängig machen ... Entweder muss er die Datei jetzt ungewollt hochladen (im FF zumindest und diejenigen, die die Methode zum Leeren in den anderen Browsern nicht herausfinden) oder das komplette, ausgefüllte Formular verwerfen.
Es gibt auch spezielle Fälle in Formularen, die gar nicht mehr dadurch funktionieren.

Ist mir irgend eine Methodik nicht aufgefallen, das input-Feld zu leeren im FF oder ist es einfach ein Bug?