我写了这个简单的javascript代码:
$("input[type='file']").attr("value", "");
它适用于 Firefox 和 Chrome,但不适用于 IE(我在 IE9 中尝试过)
清空输入类型文件值的好方法是什么?
谢谢
我写了这个简单的javascript代码:
$("input[type='file']").attr("value", "");
它适用于 Firefox 和 Chrome,但不适用于 IE(我在 IE9 中尝试过)
清空输入类型文件值的好方法是什么?
谢谢
输入类型=文件有一些限制
你可以在这里阅读
这似乎适用于 IE8、IE9
$("input[type='file']").replaceWith($("input[type='file']").clone(true));
为了在 IE8 中进行测试,我将开发人员工具中的兼容模式更改为 IE8
编辑:
至于许多 IE hack,我认为这更好
if($.browser.msie){
$("input[type='file']").replaceWith($("input[type='file']").clone(true));
} else {
$("input[type='file']").val('');
}
从 jQuery 1.6 开始,.attr() 方法为尚未设置的属性返回 undefined。此外,.attr() 不应用于普通对象、数组、窗口或文档。要检索和更改 DOM 属性,请使用 .prop() 方法。
使用.prop()