Ich verwende HTML5s wundervolle "multiple" Dateiauswahlfunktion.
%Vor%Ich möchte die ausgewählten Dateinamen unter dem Eingabefeld anzeigen und es mit CSS hübsch aussehen lassen, aber ...
Wenn ich eine Test-JS-Funktion ausführe, die mich auf den Wert des Eingabefeldes hinweist, zeigt es nur eine Datei an, unabhängig davon, ob ich 10 auswähle.
%Vor%Ich habe das gemacht, als ich ein "einzelnes" Dateieingabefeld hatte und funktionierte, aber jetzt ist es "multipel", es mag es nicht.
Irgendwelche Vorschläge?
Nun, anscheinend ist der Wert oder val()
, der vom Element zurückgegeben wird, der Name nur der letzten ausgewählten Datei. Um dies zu umgehen, kann es sinnvoll sein, die Art der Ereignisse mit mehreren Änderungen zu verwenden:
Geben Sie die Namen entweder in eine Liste aus (wie im Beispiel), oder fügen Sie den letzten Wert einem Array hinzu oder verwenden Sie / erstellen Sie versteckte Eingaben, um die Dateinamen so zu speichern, wie es Ihrer Anwendung am ehesten entspricht / p>
Um auf die Dateinamen (sowie das letzte Änderungsdatum, die Dateigröße ...) zuzugreifen, können Sie (getestet in Chromium 12 / Ubuntu 11.04) folgendes verwenden:
%Vor%Bearbeitet um das obige etwas nützlicher und hoffentlich demonstrativ zu machen:
%Vor%Der letzte Codeblock wurde aufgrund von Änderungen in Webkit, Chrome 24 (möglicherweise von früher) aktualisiert, durch nextgentech in Kommentaren, unten:
%Vor%Legen Sie einen Unterbrechungspunkt für den Warnungsaufruf fest und sehen Sie sich den Inhalt der Variablen fileInput an. Prüfen Sie, ob es eine andere Eigenschaft gibt, die alle Dateinamen enthält.
Tags und Links javascript jquery html5