【www.gdgbn.com--js教程】

动态设置上传文件enctype类型以下是最常见上传文件片段 






有点js知识得人可能试图用js检查并控制enctype得类型
 


form=document.getElementById("upform");
if(form.getAttribute("enctype")!="multipart/form-data"){
    form.setAttribute("enctype","multipart/form-data");
}
以上代码完全按照W3C格式
FF下运行良好 但是IE不兼容,其它浏览器可以不兼容,就IE不能不兼容
在看YUI类库时得到启发
IE中form没有enctype属性,只有encoding属性,那么以上代码改写为
 


form=document.getElementById("upform");
if(form.getAttribute("enctype")!="multipart/form-data"&&form.encoding!="multipart/form-data")
  if(form.encoding){
      form.setAttribute("encoding","multipart/form-data");
  }else{
      form.setAttribute("enctype","multipart/form-data");
  }
}
//最外成if判断可以去掉 因为你是要设置它可以上传文件
这样你可以试试这样得代码了
 


<script type="text/javascript">
function upload(form){
  if(form.encoding){
      form.setAttribute("encoding","multipart/form-data");
  }else{
      form.setAttribute("enctype","multipart/form-data");
  }
  form.setAttribute("method",post");
  if(!form.getAttribue("action")){
      form.setAttribute("action",location.href);
  }
  form.submit();
}
</script>





本文来源:http://www.gdgbn.com/wangyezhizuo/14845/