今天做项目时遇到过一个问题,jquery监控file文件传事件,在ie8下只能使用一次
前段代码
<form id="uploadform" action= "###" method="post" enctype="multipart/form-data"> <input type="file" name= "excelFile" id="excelFile" class= "upload-input" > </form>
js中获取file文件change事件
$(".upload-input").live("change",function(){ //执行代码 }
通过live绑定change事件,在ie8中只能执行一次,开始以为是jquery文件上传,控件出现问题,后来调试发现,并不是控件的原因,而是file文件本身的问题,在google和ie10下change值都可以获取得到,就是ie8下不能第二次触发,百度上说是因为ie浏览器本身的安全性所致的,解决方法,每次执行完处理后,把file控件,添加上不同的属性,ie8下就可以运行了
var fileCount = 0; $(".upload-input").live("change",function(){ fileCount++; //执行代码 $(".upload-input").replaceWith("<input type='file' name= 'excelFile' id='excelFile' class= 'upload-input' title='" + fileCount + "'>"); }
相关推荐
2. **多文件上传**:配合HTML5的File API,支持多个文件同时上传,用户可以监控上传进度,并在需要时中断或重试。 3. **自定义事件**:提供一系列预定义的事件,如`submit`, `ajaxSubmit`, `beforeSubmit`, `success...
而"iframefileuploadjs全部通过原生JS实现页面无刷新上传文件"的方案提供了一种轻量级的解决方案,它不依赖jQuery或Ajax,仅靠JavaScript原生API来实现在不刷新页面的情况下进行文件上传,并且能够传递JSON数据给...
jQuery插件是jQuery生态系统的重要组成部分,它们扩展了jQuery的核心功能,提供了各种各样的用途,包括文件上传、表单验证、下拉框操作、表单元素美化、时间和日期选择等。以下是一些常见的jQuery插件及其应用场景:...
jQuery不仅本身提供了丰富的API和强大的功能,还拥有大量的第三方插件,这些插件极大地扩展了jQuery的功能范围,使得开发者可以轻松地添加复杂的功能到自己的项目中,如动画、表单验证、文件上传等。下面将详细介绍...
尽管现在Flash已不再被主流浏览器支持,但在过去,它能解决跨浏览器的文件上传问题,尤其对老版本IE的兼容性较好。 - 使用SWFUpload时,需要在前端创建一个隐藏的Flash对象,并通过JavaScript调用其API来实现文件...
它为jQuery提供了处理表单的高级功能,包括异步提交(Ajax)、文件上传、多部分表单以及各种进度监控等。`ajaxSubmit`是该插件中的一个关键方法,用于发起Ajax提交操作。 **二、jQuery.ajaxSubmit的基本使用** 要...
对于这些旧版本浏览器,可以考虑使用Flash或其他插件来实现文件上传,或者使用第三方库如jQuery的`ajaxForm`插件来提供兼容性。 总之,Ajax上传文件配合进度条提供了更好的用户体验,允许用户在上传文件的同时继续...
本文将详细介绍如何判断JavaScript脚本是否加载完成,并提供适用于不同浏览器环境下的解决方案。 #### 二、JS脚本加载检测的重要性 在实际开发过程中,确保脚本加载完成后才执行特定操作是至关重要的。例如,在...
- **支持File API**:可以直接上传文件。 - **支持跨域**:通过`withCredentials`属性可以携带Cookie进行跨域请求。 - **进度事件**:提供了`progress`、`loadstart`、`loadend`等事件,可以监控数据加载的进度。 #...