2009-08-20 5 views
0

Dieser Code sollte in IE funktionieren, aber es tut es nicht. (Bitte testen Sie es nicht einmal in Firefox, weil ich diesen Ansatz nicht verwenden werde.) Ich bekomme den offenen Dialog ausgelöst, aber was ich jetzt will ist, den Namen der angehängten Datei innerhalb eines Bereichs anzuzeigen wann immer der Benutzer seine/ihre Auswahl trifft. Irgendeine Hilfe?Dieser Code funktioniert nicht (es hat mit <input type = "file" /> zu tun)

+0

Zeigen Sie den Namen der Datei ** wenn **? – Randell

+0

Ich weiß nicht, warum wir es nicht in Firefox testen können, aber es funktioniert nicht mit Firefox. – Randell

+0

(@Randell) Sie können testen, wo Sie wollen, aber ich habe eine andere Lösung für Firefox implementiert. Dieser Ansatz gilt nur für IE. Bitte versuchen Sie es und sehen Sie. Ich möchte, dass der Name immer dann angezeigt wird, wenn der Benutzer eine Datei auswählt (aus dem geöffneten Dialog). Danke! –

Antwort

4

Sie können aus Sicherheitsgründen nicht auf input = file Elemente von JavaScript zugreifen. JavaScript ist nicht erlaubt, die Dateien auf dem Laufwerk des Benutzers zu lesen und type = Dateieingaben ermöglichen dies.

Wenn Sie Personen den Zugriff auf Dateieingaben mit Javascript erlauben, gibt es nichts, was sie daran hindert, Ihre Passwortdatei hochzuladen und zu hacken.

fand ich diesen article die

JavaScript Sicherheit
+0

Ich weiß, ich weiß, aber ich spreche über IE. Versuchen Sie es mit etwas einfacherem und sehen Sie, wie es tatsächlich auf input = file zugreifen kann. Zum Beispiel: geht hier den Namen der Datei // get file Eingabe var $ el = $ ('input [type = file'); // setze die nächsten Geschwister (den Span) Text auf den Eingabewert $ el.next(). Text ($ el.val()); –

+0

Meine Antwort ist für alle Browser. Der einzige Weg, wie Sie es umgehen können, ist, wenn Sie es in einem IEHTA- oder Firefox-Chrome-Fenster ausführen, aber ich denke, Sie werden immer noch durch den Browser/JavaScript-Sicherheit gestoppt – AutomatedTester

+0

Bitte kopieren und fügen Sie den obigen Code und führen Sie es ein IE6 oder IE7. Wie Sie sehen können, lässt IE mich die Eingabe = "Datei" auslösen. Ich kann jedoch nicht die aktualisieren, so zeigt es die Datei durchsucht. –

0

Sie können nicht aufrufen, um die Datei-Upload über Javascript beschreibt. Ich weiß, du solltest es können, na ja. Es gibt eine Lösung - mit Opazität: 0, um die Dateieingabe zu "verstecken", etwas darunter zu legen, so dass es aussieht, als ob Sie auf etwas anderes klicken würden.

PPK shows you how do to it and goes through all the ins and outs on quicks blog

+0

Oh, können Sie in IE. So einfach wie ein Kopieren-Einfügen, um es zu sehen (nur in IE). Dieser Ansatz ist nur für IE (nicht für Firefox). –

Verwandte Themen