次のようにHTMLでフォームを明示的に書き出す場合:
<form action='upload_1-img.php' enctype='multipart/form-data' method='post'>
<input type='file' id='image' name='image'><input type='submit'>
</form>
その後、すべてがIEで期待どおりに実行されます。しかし、次のことを行うと、ChromeとFFでは機能しますが、IE8では機能しません。
<html>
<head>
<script>
$(document).ready(function(){
imgform = document.createElement('form');
imgform.id = 'imgform';
imgform.method='post';
imgform.enctype='multipart/form-data';
imgform.action ='upload_1-img.php';
$('body').append(imgform);
$('#imgform').append("<input type='file' id='image' name='image' /><input type=submit>");
});
</script>
</head>
<body>
</body>
</html>
この場合、で使用するvar_dump($_FILES)
とupload_1-img.php
、空の配列が返されます。IE8は、この同じフォームがHTMLで明示的にコーディングされている場合、通常どおりファイルをアップロードします。しかし、フォームがjavascriptで動的に作成された後、ファイルのアップロードが機能する必要があります。IE8でこれを機能させるための回避策は何ですか?