form表单实现文件上传的三种方式(适用于IE9)

因项目需要,客户指定使用IE9进行访问,所以,这里先讲一下,如何使用IE9进行表单提交文件

注意:ie9不支持FormData !!!

form表单代码(提交文件一定要有  enctype="multipart/form-data"method="post" 这两个属性):

<form id="fileForm"  enctype="multipart/form-data" method="post">
		<div>文件:<input class="easyui-filebox" name="file" id="file" 
                 data-options="buttonText:'选择',prompt:'请选择上传文件'" style="width:80%" > 
        </div>
</form>
   <div>
	 <a href="javascript:void(0)" class="easyui-linkbutton" style="width:100%" 
      onclick="uploadFile()">确定</a>
  </div>

方法一:使用submit(),适用于IE9

function uploadFile(){
	 var filePath = $("#file").filebox('getValue');
	 if(null == filePath || filePath == ''){
	        $.messager.alert('系统提示:',"请选择上传的文件","warning");
			return false;
	 }else{
	    var url ="<%=basePath%>test/upload.do"; //后台处理路径
	     $("#fileForm").attr('action',url); 
		 $("#fileForm").submit();		  
	     }
	   }

方法二:使用 ajaxSubmit方法,适用于ie11、谷歌等浏览 

function uploadFile(){
			var actionUrl= "";//后台方法
            $("#fileForm").attr('action',actionUrl);   
			 //关闭上传文件 界面
			 $('#fileWindow').window('close');
			 //显示进度条
			 $.messager.progress({
		            title:'上传文件',
		            text:'正在上传,请稍后....'
		      }) ;
			 var options = {
		        type: 'post',
		        //loading:true,
		        dataType: 'json', 
		        success:function(data){
		        	//处理回调函数
		        },
		        error:function(data){
                    alert('系统提示:','附件上传失败!');
		        },
		        complete: function(){
				}
		 	};
		 	$("#fileForm").ajaxSubmit(options);
		}

方法三:使用ajax

function uploadFile(){
           var formData = new FormData($('#fileForm')[0]);//获取表单中的文件
           $.ajax({
               url:"upload",//后台的接口地址
               type:"post",//post请求方式
               data:formData,//参数
               cache: false,
               processData: false,
               contentType: false,
               success:function (data) {
                   //处理返回参数
               },error:function () {
                   alert("操作失败~");
               }
 
           })

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值