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

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?

  1. Hallo, Fabian!

    It's not a bug, it's a feature: Nachdem immer weniger Nutzer tatsächlich auf den Gedanken kämen, den Pfad der Datei händisch einzutippen, wird nun das Auswahlfeld ausschließlich behandelt.

    So kann es auch nicht mehr vorkommen, dass eine eingegebene Datei nicht existiert. Dass das Auswahlfeld bei Verzeichnissen mit tausenden von Dateien etwas verlangsamt wird, wird dabei billigend in Kauf genommen.

    Gruß, LX

    --
    X-Self-Code: sh:( fo:) ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: Unusual
    X-Please-Search-Archive-First: Absolutely Yes
    1. ... Nachdem immer weniger Nutzer tatsächlich auf den Gedanken kämen, den Pfad der Datei händisch einzutippen, wird nun das Auswahlfeld ausschließlich behandelt.

      Au Schei... jetzt werden nicht nur die Verbindungsdaten ausgespäht und gespeichert, sondern auch noch die Gedanken gelesen.

      So kann es auch nicht mehr vorkommen, dass eine eingegebene Datei nicht existiert.

      Naja, zwischen Auswahl einer Datei und Abschicken des Formulars könnte ja noch etwas passieren, besonders im LAN.

      Kalle

      1. Also dass es ein neues Verhalten ist, habe ich auch erkannt :) ... Immerhin machen das jetzt alle neuen Browser so. Trotzdem ist es der größte Schrott.

        ... Nachdem immer weniger Nutzer tatsächlich auf den Gedanken kämen, den Pfad der Datei händisch einzutippen, wird nun das Auswahlfeld ausschließlich behandelt.

        Den Grund verstehe ich nur ein bisschen. Was ist dagegen auszusetzen? Ich ahbe oft Formulare, bei denen viele Dateien auszuwählen waren, per C&P gefüllt und nur bspw. den letzten Buchstaben/Ziffer angepasst

        So kann es auch nicht mehr vorkommen, dass eine eingegebene Datei nicht existiert.

        Stimmt gar nicht :) Wähl mal eine Datei aus, geh in deinen Dateiensystem, lösch die Datei und submitte das Formular.

        Also muss ich jetzt zu jedem FILE-Feld eine Checkbox dazumachen, ob der User die Datei, die er in dem Feld gespeichert hat, auch tatsächlich hochladen will? Auch durch JS kann ich das Feld natürlich nicht leeren lassen.

        Also ich sehe keine Vorteile und nur Nachteile. Für mich ist das ein kompletter Rückschritt.