jquery.form 兼容IE89文件上传
2024-09-03 01:58:59
导入部分
<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模式)测试通过。
仅做记录。
最新文章
- 安装BeautifulSoup
- smarty模板中literal标签的使用
- 【分享】哪个OS X版本支持哪个Xcode的版本?
- 纯后台生成highcharts图片有哪些方法?
- linux 学习笔记 Linux内核的四大功能简介
- UVA 11134 Fabled Rooks
- JavaScript基础:BOM的常见内置方法和内置对象
- 【BZOJ4196】【NOI2015】软件包管理器(树链剖分,线段树)
- 执行Hive出现Error running child : java.lang.OutOfMemoryError: Java heap space错误
- Python学习day2 while循环&;格式化输出&;运算符
- IE 出现stack overflow 报错的原因归纳
- adnanh webhook 框架 hook rule
- 超简单,webpack配置
- 命令行编译工具NMAKE
- 帝国留言板管理员回复发送EMAIL通知客户
- Codeforces Beta Round #8 B. Obsession with Robots 暴力
- 170220、maven国内镜像 阿里云
- java 从jsp页面传集合给controller
- c++(类)构造函数、复制构造函数
- UIColor