javascript - 在输入文件类型中选择文件时如何触发按钮单击事件?

标签 javascript html angularjs

我有一个文件<input />和一个 <button> ,并为该按钮分配了一个单击处理程序。

我想做的是,当文件输入上选定的文件发生更改时,在提交按钮上执行单击处理程序。

我的代码目前如下所示:

angular.module('myapp', [])
  .controller('MyController', function($scope) {
    $scope.clickMe= function(){
         alert("File Submitted!");  
   }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myapp">
<div ng-controller="MyController">
    <input type = "file">
    <div><button ng-click="clickMe()">Submit</button></div>
</div>
</body>

最佳答案

如果我正确理解您的问题,那么您应该发现单击提交按钮时触发的逻辑可以在 <input type="file" /> 上选择文件时自动调用。元素通过更新您的模板如下:

<input type="file" onchange="angular.element(this).scope().clickMe(this)"> 

这将导致clickMe() $scope 上的函数封闭 Controller 的对象 MyController , 被称为。这是一个完整的示例(删除了提交按钮,因为它是多余的):

angular.module('myapp', [])
  .controller('MyController', function($scope) {
    $scope.clickMe = function() {
      alert("File Submitted!");
    }
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.7/angular.min.js"></script>

<body ng-app="myapp">
  <div ng-controller="MyController">
    <input type="file" onchange="angular.element(this).scope().clickMe(this)"> 
  </div>
</body>

关于javascript - 在输入文件类型中选择文件时如何触发按钮单击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54957130/

相关文章:

javascript - 如何使用NODE js/html在网页中显示上传的文本文件

javascript - 用javascript替换双花括号

html - Bootstrap 仅显示移动菜单

html - 如何使用 render() Yii 将 anchor 发送到 URL

javascript - 如何显示我使用指令上传到 Controller 的图片

Javascript 图表绘制

javascript - 如何删除一个div检查数据库

html - 向右移动元素但保持它们在 HTML 中的顺序?

angularjs - 为什么我的自定义过滤器不起作用?

javascript - 如何使用 Angular 验证表行数据?