私は自分のサイトに画像を非同期でアップロードするためのフォームを作成しようとしています。新しいブラウザでは完全に動作し、AJAXはページ全体を更新せずに画像のリストを更新します。IE8/9 - 画像ファイルasyncを使用したフォームの送信 - フォームデータのサポートなし
私が抱えている問題は、IE8で動作しないということです。& IE9(とおそらく他のブラウザ)は、「FormData」をサポートしていないためです。ユーザーが画像を追加して(非表示のフォーム入力フィールドを追加して)、アップロードが完了した後に画像のリストを更新する必要があります。ページ全体を更新する必要はありません。ここで
は、私がこれまで持っているものは基本的である:
<div class="imagelist">
... list of images here should be updated by ajax after each upload...
</div>
<form name="uploadform" id="uploadform" method="post" action="/edit-images/uploadimage.php" enctype="multipart/form-data">
<input type="hidden" name="itemimagesid" value="<?php echo $itemid; ?>" />
<input type="hidden" name="itemtype" value="new" />
<input type="file" name="imagefile" id="imagefile" onchange="uploadFile()">
</form>
<script type="text/javascript">
function uploadFile() {
if (!window.FormData || window.FormData === undefined) { // old crappy browsers that can't use ajax/file submit.
$('#uploadform').append("<input type='hidden' name='oldbrowser' value='1'>");
...
[ need a solution here ]
...
return;
}
}
</script>
私はjQueryのバージョン1.11.2を使用して、ブートストラップ3.3.2を持って2016年に働く何かを必要としています。私はstackoverflowを検索して、ソリューションのどれも動作しません。私は "jQuery Form Plugin"を試しましたが、それは絶対に何もしません。初期化もしません。おそらく、私のjQueryバージョンはあまりにも新しいスクリプトです。うまくいけば今日のためのより良い解決策があります。
可能であればasyncを使用し、ブラウザがformDataをサポートしていない場合はフォーム送信をトリガーしてください:) – Hackerman
古いiframeアップロードのハックはまだIE8で完全に正常に動作します。おそらく誰かの周りに古いチュートリアルがあります。誰もIE8を本当にサポートしていません。 – adeneo