如何在不丢失事件侦听器和扩展属性的情况下清除文件输入?

时间:2015-07-21 18:41:03

标签: javascript jquery html angularjs dom

我想清除表单中的文件输入,但我正在使用AngularJS和其他JQuery组件,我不能丢失事件监听器和扩展属性。

有一种方法可以不删除或使用JQuery replaceWithclone函数吗?

2 个答案:

答案 0 :(得分:2)

value属性设置为空字符串怎么样?

function clearFile() {
  document.getElementById("file").value = "";
}
<input type="file" name="" id="file" />
<input type="button" value="clear" onclick="clearFile();" />

答案 1 :(得分:0)

您可以将文件输入替换为其克隆;

$('#delImg').on('click', function() {
   $('body #exampleInputFile').replaceWith($('body #exampleInputFile').val('').clone(true));

  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
  <label for="exampleInputFile">File input</label>
    <input type="file" id="exampleInputFile">
  
<button type="button" id="delImg" class="btn btn-default btn-hover-green" data-action="save" data-dismiss="modal" role="button">Delete</button>
</div>