开发者问题收集

如何在 Angular 中重置 <input type =“file”>

2013-12-12
759319

我正在使用 VS2012 和 Javascript 开发一款 metro 应用

我想重置我的文件输入的内容:

<input type="file" id="uploadCaptureInputFile" class="win-content colors" accept="image/*" />

我该怎么做?

3个回答

@dhaval-marthak 在评论中发布的 jQuery 解决方案显然有效,但如果您查看实际的 jQuery 调用,很容易看出 jQuery 正在做什么,只需将 value 属性设置为空字符串即可。因此在“纯”JavaScript 中它将是:

document.getElementById("uploadCaptureInputFile").value = "";
Jordan Kasper
2013-12-12

您需要将 <input type = “file”> 包装到 <form> 标签中,然后可以通过重置表单来重置输入:

onClick="this.form.reset()"
levkaster
2014-12-07

这是最佳解决方案:

input.value = ''

if(!/safari/i.test(navigator.userAgent)){
  input.type = ''
  input.type = 'file'
}

这里的所有答案中,这是最快的解决方案。无需输入克隆,无需表单重置!

我在所有浏览器中都进行了检查(它甚至支持 IE8)。

Maxmaxmaximus
2016-02-10