Hallo,
Als workaround könnte ich mir vorstellen, die Dateien die er hochladen möchte mit ajax zu schicken. Klickt er dann auf submit würde ich einfach nur noch die InputFelder, wo er seinen Namen und weitere Details eingeben musste zum Server übertragen. Weil die Daten hat der Server ja schon.
Ja, das ist sinnvoll.
Such einfach mal nach »Ajax« bzw. »XMLHttpRequest File Upload«
http://blog.checkdomain.de/programmierung/html5-file-api-formdata-und-xmlhttprequest2/
http://www.html5rocks.com/en/tutorials/file/xhr2/
http://robertnyman.com/2010/12/16/utilizing-the-html5-file-api-to-choose-upload-preview-and-see-progress-for-multiple-files/
http://robertnyman.com/2013/02/11/using-formdata-to-send-forms-with-xhr-as-keyvalue-pairs/
Zum Hintergrund:
</archiv/2011/3/t204009/#m1380767>
Heutzutage lässt sich das FormData-Objekt verwenden. Für Browser, die FormData nicht unterstützen, kannst du entweder einen Iframe als Formular-Target verwenden oder die Dateien normal mit dem Formular schicken.
Man kann auch auch progress-Events hören, um eine Progressbar für den Upload anzuzeigen.
Ist es möglich, das alles in einem Formular(<form>-tag) zu packen?
Kannst du machen, aber du musst dann darauf achten, dass das <input type="file"> entfernt oder deaktiviert wird, wenn das Formular abgesendet wird und vorher bereits ein XHR-Upload erfolgreich war.
Ich verwende immer ein separates Formular, damit der File-Upload in älteren Browser in ein iframe geleitet werden kann und die restlichen Formulardaten vom File-Upload getrennt sind.
Mathias