动态设置上传文件enctype类型

动态设置上传文件enctype类型以下是最常见上传文件片段 
<form id="upform" name="upform" action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="uploadfile[]" />
<input type="file" name="uploadfile[]" />
<button type="submit" >upload</button>
</form>
有点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>
<form action="upload.php" onsubmit="try{upload(this);}catch(e){};return false;">
<input type="file" name="uploadfile[]" />
<input type="file" name="uploadfile[]" />
<button type="submit" >upload</button>
</form>

时间: 2024-09-20 00:40:36

动态设置上传文件enctype类型的相关文章

动态设置上传文件的enctype

动态设置上传文件的enctype <fm id="up" name="up" action="upfileile.php" method="post" enctype="multipart/fm-data"> <input type="file" name="upfileilefile[]" /> <input type="fi

easyui-easyUi gridDate 点击添加,回自动添加一行,但是怎么让自动添加的单元格是上传文件的类型

问题描述 easyUi gridDate 点击添加,回自动添加一行,但是怎么让自动添加的单元格是上传文件的类型 easyUi gridDate 点击添加,回自动添加一行,但是怎么让自动添加的单元格是上传文件的类型 现在点击新增,是增加了一行,但是都是普通的input表单,如果让新生成的表单是文件上传的类型 解决方案 gridDate是什么东西?easyUI有这个插件? 如果你用js动态添加的html代码,要自己调用组件的方法进行初始化, $('#xxx').filebox() 解决方案二: da

javascript验证上传文件的类型限制必须为某些格式_javascript技巧

复制代码 代码如下: //验证文件的格式 function validateFile(){ var fileObject=$("#filename"); var errorObject=$("#error"); var filepath=fileObject.val(); var fileArr=filepath.split("//"); var fileTArr=fileArr[fileArr.length-1].toLowerCase().s

wordpress中怎么设置上传文件路径

该函数指定了uploads的目录为uploads的avatar文件夹:  代码如下 复制代码 function my_upload_dir($upload) { $upload['subdir']= '/avatar'; $upload['path']= $upload['basedir'] . $upload['subdir']; $upload['url']= $upload['baseurl'] . $upload['subdir']; return $upload; } 然后在需要改变上

ASP.NET技巧:设置上传文件的最大大小

asp.net|技巧|上传 在web.config中添加httpRuntime元素,如下:<configuration>   <system.web>      <httpRuntime maxRequestLength="8192"         useFullyQualifiedRedirectUrl="true"         executionTimeout="45"         versionHea

jquery限制上传文件的类型和限制文件的大小

核心代码  代码如下 复制代码 <script type="text/javascript"> $(document).ready(function(){ $("#form0").submit(function() { var filepath=$("input[name='myFile']").val();         var extStart=filepath.lastIndexOf(".");      

Android上传文件至服务器

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术.            一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下:           2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import jav

Android实现上传文件到服务器实例详解_Android

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce

java中使用Struts 2框架上传文件代码

HTML表单默认值:  代码如下 复制代码 <form action="" enctype="application/x-www-form-urlencoded" method="get"> ...</form> 要使用HTML表单上传文件,需要将HTML表单的enctype属性设置为"multipart/form-data",还需要将表单的method属性设置为"post"  代码