jquery.form 兼容IE89文件上传
导入部分
<script type="text/javascript" src="js/jquery-1.8.3.min.js" charset="utf-8"></script>
<script type="text/javascript" src="js/jquery.form.js"></script>
HTML部分
<fieldset class="layui-elem-field layui-col-xs12 margin20">
<legend>监控点校验</legend>
<div class="layui-col-xs12" style='padding: 10px;'>
<form enctype="multipart/form-data" id="batchUpload" action="上传地址" method="post" class="form-horizontal">
<input id="uploadEventPath" class="fileInp" disabled="disabled" type="text" placeholder="请选择excel文件"/>
<input type="file" name="file" id="uploadEventFile" style="position: absolute;width: 5%;cursor: pointer;opacity: 0;filter: alpha(opacity=00);height:30px;"/> //隐藏file文件上传按钮
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm chooseB" id="uploadEventBtn" style="cursor: pointer;">选择文件</button>
</form>
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm chooseB" id="jy">上传校验</button>
</div>
</fieldset>
JS部分
<script type="text/javascript">
layui.use(['form', 'layer','table'], function () {
var form = layui.form,layer = layui.layer,table = layui.table;
var loading;
$("#uploadEventFile").bind("change", function() {
$("#uploadEventPath").attr("value",$("#uploadEventFile").val());
});
$("#jy").click(function(){
var uploadEventFile = $("#uploadEventFile").val();
if (uploadEventFile == "") {
layer.alert("请选择excel文件,再上传!");
} else if (uploadEventFile.lastIndexOf(".xls") < 0) {//可判断以.xls和.xlsx结尾的excel
layer.alert("只能上传Excel文件!");
}else if (uploadEventFile.lastIndexOf("abc.xlsx") < 0) {//可判断以.xls和.xlsx结尾的excel
layer.alert("文件名称必须是 “abc.xlsx” 请更改文件名称!");return false;
}else{
loading = layer.msg("数据加载中,请稍候...", {icon : 16,shade : 0.4,time : 10000});
$("#batchUpload").ajaxSubmit({//jquery.form 兼容ie8文件上传
type:"post",
url:"url地址",
dataType:"json",
success:function(result){
layer.close(loading);
console.log(result);
},
error:function(data){
layer.alert("系统错误,请联系管理员!");
},
});
}
});
});
</script>
报错处理
在IE8浏览器中,如果报错 “拒绝访问”,这个时候是因为在ie中除非你点击file控件的浏览按钮,否则是没有权限去上传文件的,也就是说不可以通过js来控制file控件value的方法上传文件。如果觉得file难看的话,可以动过css样式来隐藏file,以及一些处理来使file变得好看些。
以上就是完整的代码。在IE891011以及搜狗浏览器中(极速模式和IE模式)测试通过。
仅做记录。
jquery.form 兼容IE89文件上传的更多相关文章
- 考虑浏览器兼容的文件上传(IE8不支持FormData)
方法一:使用FormData(因IE8不支持FormData, IE10才支持,因此此方法不兼容IE10以下的IE浏览器) 也可参考文章 http://www.jianshu.com/p/46e6e0 ...
- Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)
form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...
- 使用jquery的ajax提交文件上传
以前的项目大多的使用jquery的插件来进行文件上传,对于就只引用jquery而不使用插件来上传文件之前未有写过,最近项目里有写到和用到,就记录一下,以后方便查找. 提示:存在浏览器皆容问题,谨慎使用 ...
- [Asp.net mvc]jquery.form.js无刷新上传
写在前面 最近在自己的网盘项目中想用ajax.beginform的方式做无刷新的操作,提交表单什么的都可以,但针对文件上传,就是个鸡肋.在网上查找了发现很多人都遇到了这个问题,大部分都推荐使用jque ...
- 基于jquery ajax的多文件上传进度条
效果图 前端代码,基于jquery <!DOCTYPE html> <html> <head> <title>主页</title> < ...
- jQuery的ajax实现文件上传大小限制
用jquery的ajax实现简单的文件上传功能,并且限制文件大小,先上代码. <!DOCTYPE html> <html> <head> <meta char ...
- Django 基于Ajax & form 简单实现文件上传
前端实现 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="U ...
- jquery uploadify插件多文件上传
1.jquery uploadify 下载:http://www.uploadify.com/ 2.安装:解压后拷贝的工程目录下面,如:WebRoot/uploaddify 3.配置项说明: uplo ...
- dwz+jquery+fileupload+springmvc实现文件上传 及图片预览
1 前台jsp:文件的上传利用了iframe实现局部刷新功能.使用了apache的fileupload组件,用到的jar: commons-fileupload.jar,commons-io.jarD ...
随机推荐
- Ranger-Kylin插件安装
Ranger-Kylin插件安装, 从Ranger1.1.0版本开始支持Ranger Kylin插件, 从Kylin2.3.0版本开始支持Ranger Kylin插件的权限控制. 1.获取安装包 sc ...
- oracle 之 for循环表
代码 create table tm_lzh as SELECT 'a1' c1,'b1' c2 FROM dual union all SELECT 'a2' c1,'b2' c2 FROM dua ...
- 可观察对象(Observable)
最简示例: export class AppComponent { title = 'angular-tour-of-heroes'; // Create an Observable that wil ...
- [ SQLAlchemy ] 自我引用型的多对多关系(Self-Referential Many-to-Many Relationship)理解
参考: https://www.jianshu.com/p/2c6c76f94b88 https://madmalls.com/blog/post/followers-and-followeds/ 实 ...
- Python 国内镜像源
让 python pip 使用国内镜像源 国内镜像源: 清华:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.co ...
- Go语言实战爬虫项目
Go语言爬虫框架之Colly和Goquery Python爬虫框架比较多有requests.urllib, pyquery,scrapy等,解析库有BeautifulSoup.pyquery.Scra ...
- [流畅的Python]第一章数据模型
这些来自同一家出版社的动物书 像是计算机科学界一盏盏指路明灯 余幼时 初试读 学浅 以为之晦涩难懂 像是老学究咬文嚼字 现在看起来还有些有趣 其实理工男大多都很有趣 这一章介绍了 怎么样去视线一个带有 ...
- 品味Spring Cache设计之美
最近负责教育类产品的架构工作,两位研发同学建议:"团队封装的Redis客户端可否适配Spring Cache,这样加缓存就会方便多了" . 于是边查阅文档边实战,收获颇丰,写这篇文 ...
- 性能优化-使用双buffer实现无锁队列
借助本文,实现一种在"读多写一"场景下的无锁实现方式 在我们的工作中,多线程编程是一件太稀松平常的事.在多线程环境下操作一个变量或者一块缓存,如果不对其操作加以限制,轻则变量值或者 ...
- RabbitMQ 中的分布式,普通 cluster 模式的构建
RabbitMQ 如何做分布式 前言 集群配置方案 cluster 普通模式 镜像模式 federation shovel 节点类型 RAM node Disk node 集群的搭建 1.局域网配置 ...