页面中有如下标签:
<input type="file" id="upload"/>
此标签本用于文件上传,现在有需要将其值重置为空。于是想当然地写出如下代码:
$('#upload').val('');
但经测试,该处理方法对IE无效,因为IE不允许javascript改变type为file的input的值,又是让人蛋疼的IE。。。
在浏览器兼容性方面本人是白痴一个,遂放狗一搜,有解决方案如下:
if(ie) { // 此处判断是否是IE
$('#upload').replaceWith($('#upload').clone(true));
} else {
$('#upload').val('');
}
解决方案简单优雅,记于此,欢迎有需要的童鞋来此围观。
本文参考自http://www.technowise.in/2009/12/clear-file-input-field-using-jquery.html,原文为英文,建议英文基础不错的童鞋去原文围观。