2016-09-30 3 views
0

私は自分のサイトに画像を非同期でアップロードするためのフォームを作成しようとしています。新しいブラウザでは完全に動作し、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バージョンはあまりにも新しいスクリプトです。うまくいけば今日のためのより良い解決策があります。

+0

可能であればasyncを使用し、ブラウザがformDataをサポートしていない場合はフォーム送信をトリガーしてください:) – Hackerman

+0

古いiframeアップロードのハックはまだIE8で完全に正常に動作します。おそらく誰かの周りに古いチュートリアルがあります。誰もIE8を本当にサポートしていません。 – adeneo

答えて

0

私はiframeのハックを理解できませんでした。

関連する問題