javascript - 如果文件名相同,则更改事件函数不适用于输入类型文件

标签 javascript html angular

这是我上传excel文件的html代码

 <span class="control-fileupload" >
      <label for="file1" class="text-left">{{filePlaceHolder}}</label>
      <input type="file" id="file1" value="" (change)="openFile($event)" >
 </span>

但问题是,如果我将同一文件上传两次,更改功能不会再次执行,因为输入字段没有更改。

假设我上传了一次 abc.xls 文件并且对该文件进行了一些验证,如果我更改了 abc.xls 的内容并重新上传它,那么更改功能不会再次对其进行重新验证。

无论文件名是否相同,每次上传文件时我应该对工作更改功能做哪些更改。

我想知道如何在类型脚本中编写这个点击功能,因为我是新手。

最佳答案

在 Angular 2 中你可以这样做:

<span class="control-fileupload" >
      <label for="file1" class="text-left">{{filePlaceHolder}}</label>
      <input #fileInput type="file" id="file1" (click)="fileInput.value = null" value="" (change)="openFile($event)" >
 </span>

这样,每次您点击文件输入时,它都会清除它的值,因此即使您选择相同的文件更改也会触发。

关于javascript - 如果文件名相同,则更改事件函数不适用于输入类型文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970952/

相关文章:

javascript - "variable=value"的非贪婪正则表达式

html - 调整浏览器大小时对齐不正确 - 响应页面

javascript - 如何在 Angular 7 中设置一个选择选项的值?

angular - Ionic 4 与 Angular 如何设置动态 HTML dir 属性?

javascript - 无法覆盖 $.rails.allowAction

javascript - ExpressJS 无法在 Openshift 中获取/路由,但在本地可以正常工作

javascript - 如何遍历一个json对象?

php - 使用 Jquery Php 和 mysql 从订单表单中动态添加的行获取数据价格属性

javascript - jQuery .load 和 .resize 不能正常工作

angular - 在 Angular2 中的输入值之前添加加号 "+"