Jquery下清空表单FILE控件的值

有时编辑表单需要清除表单的值,使用Jquery的话就是$(this).val(”)或者$(this).attr(‘value’,”)就可以清空了,但是在ie 8下却不行。在网上找了下说是出于安全性的原因,不能在javascript中对FILE控件操作。解决方法是ie下用在身的克隆来替换掉,代码如下:

1
2
3
4
5
6
if ($.browser.msie) {
      $('#file').replaceWith($('#file').clone());
}
else {
      $('#file').val('');
}

ie下的安全性有时候很讨厌,比如说自定义FILE控件样式,非得点击在控件上选择文件才行,而不能使用javascript来代替。

参考链接:
resetting input file using $(this).val(“”) not working with IE8
How to clear a FILE input in IE?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据