Warum lädt mein Formular keine Dateien in Internet Explorer 9 hoch?
Willkommen zu episode 32,342,343 von "Warum wird der Internet Explorer Saugen So Viel?"...
Ich habe gesehen, viele Berichte, dass der IE9 macht einen beschissenen job hochladen von Dateien. Anscheinend hat es viele Vorbehalte etwa wenn es wird oder wird nicht funktionieren (Wenn jemand eine definitive Liste, die ich lieben würde, um es zu sehen). Jedoch, die meisten der Probleme/Lösungen, die ich sehen gefunden haben, sind in Bezug auf javascript, in der Regel die jQuery form plugin oder etwas ähnliches.
Meine form ist nicht eingereicht, über AJAX und die der Datei-input-Feld ist auch nicht versteckt oder verdeckt mit css. Doch, bekomme ich mehrere support-tickets pro Tag von Usern auf IE9 versucht, das Formular zu senden und "nichts passiert" (=der form übermittelt. Keine Fehler, aber die Datei wird nicht hochgeladen.) Ich habe nicht bekommen, eine Beschwerde mit einem anderen browser und IE8 auch scheint zu arbeiten (so gut wie immer tut).
Hier oben auf meiner form. Bin ich etwas fehlt?
<form action="http://mysite.dev/account-settings/?open=resume" method="post" class="wpjb-form" enctype="multipart/form-data">
<input type="hidden" name="resume_form" value="resume_form" />
<fieldset class="wpjb-fieldset-default">
<input id="firstname" name="firstname" type="hidden" class="regular-text " value="John" />
<input id="lastname" name="lastname" type="hidden" class="regular-text " value="Henry" />
<input id="email" name="email" type="hidden" class="regular-text " value="[email protected]" />
<div class="wpjb-element-input-checkbox wpjb-element-name-is_active">
<label class="wpjb-label">Show resume? </label>
<div class="wpjb-field">
<label for="is_active_1"><input type="checkbox" class="" name="is_active" id="is_active_1" value="1" checked="checked" /> Yes <small style="display:inline;">(Uncheck to hide your resume)</small></label>
</div>
</div>
<div class="wpjb-element-input-select-one wpjb-element-name-file">
<label class="wpjb-label">Upload a <i>new</i> resume file</label>
<div class="wpjb-field">
<input style="line-height:1em;" id="file" name="file" type="file" class="regular-text " />
<small class="wpjb-hint">Accepted file types: doc, docx, odf, pdf, rtf</small>
</div>
</div>
</fieldset>
...
So geht es weiter mit ein paar mehr <fieldset>
s dann so endet:
....
<p class="submit">
<input type="submit" name="Submit" id="wpjb_submit" value="Save Changes" />
</p>
</form>
Update
Ich freue mich für alle, die noch nie dieses problem, aber es geht nicht nur mir:
http://answers.microsoft.com/en-us/ie/forum/ie9-windows_vista/cannot-upload-files-using-internet-explorer-9/5724d921-ae71-e011-8dfc-68b599b31bf5
Update2
Ich sehe eine Menge von Kommentaren hinzufügen eines meta-tag, um zu erzwingen, dass der Benutzer-agent auf IE8...
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Ich will nicht tun dies, weil obwohl ich Unterstützung IE8, viele der Elemente auf meiner Website gerendert in IE8 gegen IE9. Dadurch entsteht eine eher schlampige user experience als jeder IE-Benutzer würde ich die temporäre "time warp" zurück zu IE8 auf jener Seite.
InformationsquelleAutor der Frage emersonthis | 2013-03-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage, dies zu beheben Alptraum eines Problems durch wickeln eines jQuery form submit in ein setTimeout:
Dies kann zu doppelten übermittlung, wenn das Formular NICHT Einreichen, jedoch, so vorsichtig sein.
InformationsquelleAutor der Antwort Tronathan
Als Graham nicht, ich denke, dass dies wohl eher ein server-Problem - auch ich hatte noch nie Probleme mit fileuploads in IE9 (oder neuer) - ich denke, Sie wollen nicht nach dem code, den das PHP-Skript für die Verarbeitung des upload?
InformationsquelleAutor der Antwort Daniel Steiner
wenn irgendwelche Daten nicht gesendet werden, Sie könnte prüfen, die post-Daten, die von Ihrem versteckten Eingang auf der server-Seite Skript. Zum Beispiel, wenn Sie mit php würde es so etwas wie
Oder Sie können auch meta-kompatibel-tags für den IE zum Rendern der Seite wie IE8
InformationsquelleAutor der Antwort Onur Kucukkece
Schlage ich vor, die Einstellung der
X-UA-Compatible
meta-tag-Wert und sehen, ob das einen Unterschied macht.Sehen, diese Frage für mögliche Werte: Was bedeutet <meta http-equiv="X-UA-Compatible" content="IE=edge"> tun?
Kann es auch sein, dass die Seite ist das auslösen einer non-standards-Modus im IE9. Ich schlage vor, öffnen Sie die Seite im IE9 öffnen der Entwickler-tools, und sehen, welche browser/- Dokument-Modi ausgewählt werden. Das kann Ihnen ein Anhaltspunkt. Beachten Sie, dass das "enctype" form-Attribut nicht unterstützt wurde, vor der IE8, so dass, wenn der browser eine ältere doc-Modus, der das Attribut wird nicht erkannt.
InformationsquelleAutor der Antwort Roy Tinker
OK, ich würde eher einen Kommentar hinterlassen, keine Antwort, aber ich habe nicht die Punkte für, noch!
Sind die Benutzer im quirks-Modus? Die meisten IE-Benutzer sind sich nicht bewusst von den quirks-Modus und haben Sie vielleicht versehentlich angeklickt, wenn Sie versuchen, die Seite zu aktualisieren (anstatt der Taste F5). Wenn es sporadisch Auftritt könnte dies der Grund sein.
nach oben.. Auf der server-Seite, wie Sie die überprüfung für leere Felder? Ich bin mehr auf den Linien der JS hier, wo Sie suchen oft nach "", null und undefined, ich denke nur, dass vielleicht der quirks-Modus ist das senden einige fuzzy-Daten, die von der server-Seite-Fehler ist eine Kontrolle fehlt, weil Sie nicht gesucht und daher Berichte alles OK ist.
InformationsquelleAutor der Antwort Zenonline