<input type=file> - Button als Bild
-
Hallo,
ich habe mich etwas schwer bei der Wahl des Titels getan, sorryAlso zu meinem Problem. Ich habe einen Frame mit ein paar Icons, ein Icon ist für den Upload von Dateien zuständig. Es funktioniert auch alles, aber es wäre schön wenn ich mit dem Klick auf das Icon direkt den OpenFileDialog öffnen würde. Im Moment ist das Icon mit einer html Datei verlinkt in der folgendes steht:
<html> <body> <form name=form method=post action="uploadMail.jsp" ENCTYPE="multipart/form-data" > <input type="file" name="import"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>
wie gesagt es funzt alles, nur ist der zusätzliche Klick auf "durchsuchen" und dann danach auf "submit" unschön.
schöner wäre es, wenn nach dem Iconklick der OpenFileDialog kommt, und bei "Ok" geht es zum upload und bei "Abbrechen" passiert nichts.Hat jemand eine Idee?
Wichtig ist, dass es mit IE 6 (7 glaube ich auch) geht. Firefox und Opera sind nicht zwingend notwendig.Danke für die Antworten...
-
so hatte gerade noch eine Idee mit Java\1:
<html> <head> <script LANGUAGE="JavaScript" TYPE="text/javascript"> function Load() { var obj = document.getElementById("upload"); if(obj) { obj.click(); } } </script> </head> <body onLoad="Load()"> <form name=form method=post action="uploadMail.jsp" ENCTYPE="multipart/form-data" > <input id="upload" type="file" name="import"> <input type="submit" name="Submit" value="Submit"> </form> </body> </html>
Jetzt wird nach dem Klick auf das Icon schonmal der Dialog geöffnet.
Jetzt komme ich aber nicht weiter, da mir die events fehlen (also namentlich) auf die ich reagieren könnte.
-
Du brauchst nur mehr ein form.submit(), wobei form für das Form-Objekt mit dem Namen "form" steht.
-
Danke für die Antwort.
Daran hatte ich auch erst gedacht, aber dann ahbe ich ja keine Gewissheit ob OK oder Abbrechen gedrückt wurde. Und blockiert denn der Dialog wirklich?Davon abgesehen erhalte ich eine Fehlermeldung "Zugriff verweigert"
Meine Idee mit dem Öfnen des Dialogs klappt so auch nciht ganz.
Zwar öffnet er sich aber das submit wirkt sich eher wie ein reset als ein submit aus
-
vll solltest du bedenken, dass das Upload-Feld nur sehr minimal verändert werden kann, schon alleine, um das unbemerkte Hochladen von Dateien zu verhindern.
-
Klingt logisch, leider gefällt mir das aber nicht.
-
Das senden einer Datei an den Server ist ein synchroner Vorgang, d.h. der Aufruf "blockiert" tatsächlich.
Um es etwas dynamischer zu machen, bietet es sich an die Uploadmaske in einen IFRAME zu setzen. Machst du das, kannst du in deiner Hauptseite z.B. mit AJAX-Requests den Status des aktuellen Uploads o.ä. überprüfen.
Es gibt auch diverse Flashplugins, die den Upload für dich asynchron durchführen. Da musst du aber nach suche, habe ich noch nichts mit gemacht.