upload.php スクリプトの$_FILES
変数の長さはゼロのままです。ファイルが送信されないのはなぜですか? しかし、すべてが順調に進んでいるようです。onchange
フォームを削除し、ハンドラーを介してアップロードを完全に実行したいと思います。これは可能ですか?
<li>upload:<form id=upload enctype="multipart/form-data">
<input type=file id=file name=o onchange="submit()"/>
</form></li>
<script>
document.getElementById('upload').submit=function(){
var ul=document.getElementById('file');
if(ul.files.length>0){
file=ul.files[0];
var x=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');
x.onreadystatechange=function(){if(x.readyState==4&&x.status==200){
alert(x.responseText);}
}
x.open('post','upload.php',true);
x.setRequestHeader('Content-Type','multipart/form-data');
x.setRequestHeader('X-File-Name',file.name);
x.setRequestHeader('X-File-Size',file.size);
x.setRequestHeader('X-File-Type',file.type);
x.send(file);
}
return false;
}