使用jQuery清空file文件域的解决方案
更新时间:2013年04月12日 16:01:52 作者:
对一个文件域(input type=file)使用了验证后,我们总会希望把文件域中的值给清空了,在IE中,由于安全设置的原因,是不允许更改文件域的值的,接下来为大家介绍一下解决方法
般来说,在对一个文件域(input type=”file”)使用了验证后,我们总会希望把文件域中的值给清空了(否则错误的文件仍然会被提交),而在IE中,安全设置的原因,是不允许更改文件域的值的(也就是不能使用val(“”))
那么很显然,我们就只能换个思路,把这个input元素复制一个,然后将原来的删除。
在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。
而在Firefox下,其中的值也会被一同复制,那么我们就顺便清空一下就做到兼容了。
代码如下:
var file = $("#file")
file.after(file.clone().val(""));
file.remove();
那么很显然,我们就只能换个思路,把这个input元素复制一个,然后将原来的删除。
在IE下复制元素的时候,其中的值是不会被复制的,所以就达到了清空文件域的目的了。
而在Firefox下,其中的值也会被一同复制,那么我们就顺便清空一下就做到兼容了。
代码如下:
复制代码 代码如下:
var file = $("#file")
file.after(file.clone().val(""));
file.remove();
相关文章
jQuery.position()方法获取不到值的安全替换方法
这篇文章主要介绍了jQuery.position()方法获取不到值的安全替换方法,本文给出了一种变通的方法,用.offset()来换算,需要的朋友可以参考下2015-03-03
jquery之ajaxfileupload异步上传插件(附工程代码)
在处理文件上传时需要使用到文件的异步上传,这里使用Jquery Ajax File Uploader这个组件,服务器端采用struts2来处理文件上传2013-04-04


最新评论