我有一个文件<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/