1

我正在使用一个input元素,type="file" 并且我想取消选择我选择的东西。

我尝试使用

document.getElementById("pic1").value="";
document.getElementById("pic1").src="";

但它仅适用于 Firefox。

有人有适用于 IE 和 Chrome 的解决方案吗?请不要使用 JQuery。

4

1 回答 1

2

这适用于jsFiddle

  • 谷歌浏览器 29

JavaScript:

$("#cancel").click(function(){
 document.getElementById("test").value = "";   
})

这是一个类似的问题:Clearing file input box in Internet Explorer

它在 IE8 以后是只读的,所以你不能清除它。绕过此安全功能的最简单方法是将元素替换为副本。

这是来自同一个问题的问题jsFiddle的肮脏解决方案:

JavaScript:

$("#cancel").click(function () {
    document.getElementById('test').parentNode.innerHTML = document.getElementById('test').parentNode.innerHTML;
})

它很脏,因为它不应该工作。

于 2013-09-22T18:56:59.663 回答