Ich habe also eine grundlegende Formulareingabe mit dem Typ, "file"
möchte jedoch, dass der Benutzer einen Ordner und keine Datei auswählen kann.
Wie kann ich mit dieser Eingabe einen Ordner und keine Datei auswählen, oder gibt es eine andere Möglichkeit, dies zu tun?
Antworten:
Stolperte auch auf dieser Seite und fand dann heraus, dass dies nur mit Javascript (keine Plugins wie ActiveX oder Flash) möglich ist, aber nur in Chrome:
https://plus.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
Grundsätzlich haben sie die Unterstützung für ein neues Attribut im Dateieingabeelement "webkitdirectory" hinzugefügt. Sie können es so verwenden:
<input type="file" id="ctrl" webkitdirectory directory multiple/>
Hier können Sie Verzeichnisse auswählen. Das Attribut multiple ist ein guter Fallback für Browser, die die Auswahl mehrerer Dateien, jedoch nicht die Verzeichnisauswahl unterstützen.
Wenn Sie ein Verzeichnis auswählen, sind die Dateien über das dom-Objekt für das Steuerelement (document.getElementById ('ctrl')) verfügbar, genau wie sie es mit dem Attribut multiple tun. Der Browser fügt rekursiv alle Dateien im ausgewählten Verzeichnis zu dieser Liste hinzu.
Sie können das Verzeichnisattribut auch bereits hinzufügen, falls dies irgendwann standardisiert wird (es wurden keine Informationen dazu gefunden).
quelle
directory
Attribut in der Live-HTML-Spezifikation html.spec.whatwg.org/multipage/input.html#the-input-elementSie möchten höchstwahrscheinlich ein Flash- / Silverlight- / ActiveX-Steuerelement verwenden. Die
<input type="file" />
Steuerung kümmert sich nicht darum.Wenn es Ihnen nichts ausmacht, dass der Benutzer eine Datei als Mittel zum Abrufen des Verzeichnisses auswählt, können Sie möglicherweise an das
change
Ereignis dieses Steuerelements binden, dann den Dateinamen entfernen und den Pfad irgendwo speichern - aber das ist ungefähr so gut wie es nur geht.Beachten Sie, dass Webseiten für die Interaktion mit Servern ausgelegt sind. Nichts an der Bereitstellung eines lokalen Verzeichnisses für einen Remote-Server ist "typisch" (ein Server kann nicht darauf zugreifen, warum also danach fragen?). Dateien sind jedoch ein Mittel zur selektiven Weitergabe von Informationen.
quelle
Obwohl es eine alte Frage ist, kann dies jemandem helfen.
Wir können mehrere Dateien auswählen, während wir mit "multiple" nach einer Datei suchen.
<input type="file" name="datafile" size="40" multiple>
quelle