input内容改变后,ie11中change事件执行两次的解决办法
来源:互联网 发布:java syslog4j 编辑:程序博客网 时间:2024/05/16 08:43
页面文件上传,代码如下:
<form id="subId" action="doc/uploadTranslate"
enctype="multipart/form-data"
method="post">
<input type="hidden" id="from" name="from">
<input type="hidden" id="to" name="to">
<table>
<tr>
<div class="sc">
<a style="background:green;display:inline-block;background:white; position:relative; overflow:hidden;margin: 5px 20%;">
<input accept=".doc,.docx,.pdf" id="myfile" type="file" name="myfile"
onchange="changeFile();">
<img alt="极速翻译" src="/Translate/resources/image/xzwj.png">
</a>
</div>
</tr>
</table>
<div style="padding:5px;text-align:center;display: none;">
<a class="btn btn-primary"
href="#" id="sub" class="easyui-linkbutton">上传</a>
</div>
</form>
function changeFile(){
$('#sub').css('display','block');
var file = $("#myfile").val();
var pos=file.lastIndexOf("\\");
var fileName = file.substring(pos+1);
if (fileName.indexOf(".pdf") > 0) {
document.getElementsByClassName('file_type')[0].src = "/Translate/resources/image/PDF-L.png";
}else if(fileName.indexOf(".docx") > 0||fileName.indexOf(".doc") > 0){
document.getElementsByClassName('file_type')[0].src = "/Translate/resources/image/Word-L.png";
}else{
if(fileName.length>0){
toastr.error('请上传正确格式文件');
}
$("#myfile").val("");
$(".content_up_text").html("支持PDF,DOC,DOCX的格式,其他格式正在拼命开发中。");
$('#update_file').css('display','none');
$(".selectfile").css("display","block");
$(".file_type").css("display","none");
document.getElementsByClassName('content_buttom')[0].src = "/Translate/resources/image/jsfy1.png";
return;
}
$(".content_up_text").html(fileName);
$('#update_file').css('display','block');
$(".selectfile").css("display","none");
$(".file_type").css("display","block");
document.getElementsByClassName('content_buttom')[0].src = "/Translate/resources/image/jsfy2.png";
}
<input id="myfile">中onchange="changeFile();",每次选择文件会触发此函数,但在IE浏览器中,from表单提交后也会触发此函数,因为提交后<input id="myfile">中文件消失,changeFile同样触发。其他浏览器无此问题。可在changeFile函数中增加是否有文件的判断。
- input内容改变后,ie11中change事件执行两次的解决办法
- input内容改变后,ie11中change事件执行两次的解决办法
- input 内容改变——change事件
- 有关input输入框内容改变后的触发事件
- js中input标签内容改变的触发事件
- input file域的value清空与赋默认值方法,及Jquery中file的change事件只能执行一次,不可多次执行的解决办法
- input 输入完成时执行的事件change事件
- 捕获input 文本框内容改变的事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- input标签内容改变的触发事件
- 【JS事件】input文本内容改变可使用的事件
- JSP中input内容改变触发onchange事件使用
- QT一个事件被重复执行两次的解决办法
- JQ的input change事件
- 队,栈,优先队列的操作
- 在ListView中EditText丢失光标问题
- Android中动画的介绍以及使用
- ArcGIS Runtime for .Net Quartz开发探秘(四):加载本地文件
- dijkstra模板
- input内容改变后,ie11中change事件执行两次的解决办法
- nodejs 3 模块
- 读书笔记-06网站的伸缩架构
- Red Carpet Subscriptions发布2017 v3,适用于Linux和macOS的新版本
- 累
- 条件技术中需求公式的 kobed和kobev的不同之处
- easyui combobox 默认选中第一项
- Mybatis---代码自动生成(generatorConfig.xml配置)
- mac算法原理学习