Hallihallo!
Ich denke ich lasse es dann einfach wie ich es bisher hatte, mit dem Submit Button.
Das ist auf jeden Fall die bessere Wahl, und trotzdem möchte ich der Vollständigkeit halber darauf hinweisen, dass man tatsächlich das onchange- event benutzen KÖNNTE:
<form name="formular" id="myform" method="POST" action="....." ....>
<input type="file" name="myfile" onchange="senden();">
</form>
mit der Funktion senden():
function senden() {
// evtl ein paar Clientseitige Checks für den Dateinamen oder so...
document.getElementById("myform").submit();
}
In einem meiner (Intranet-) Projekte, in dem die Nutzer einen einfachen Multi- File- Upload haben wollten, habe ich auf diese Weise nach jeder erfolgten Dateiauswahl ein komplettes zusätzliches Formular ins DOM eingehängt, nebst einem für dieses Formular zuständigen target- iframe.
Per Klick auf den einzigen Submit- Button wird dann ein Formular nach dem anderen abgesendet, und in den iframes erscheinen nacheinander dann die Thumbnails zu den hochgeladenen Dateien.
Mit Browsern, die Drag und Drop auf das Formularfeld unterstützen, macht so das Hochladen von vielen Dateien fast schon Spaß :)
Was ich damit unterm Strich sagen will: So Einiges ist möglich, wenn auch nur in Ausnahmesituationen sinnvoll.
Beste Grüsse,
Tobias Hahner
PS: Der Code oben ist quick and dirty, Syntax- und Schreibfehler nicht ausgeschlossen