Как вызвать событие нажатия кнопки, когда файл выбран в типе входного файла? - PullRequest
0 голосов
/ 02 марта 2019

У меня есть файл <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>

1 Ответ

0 голосов
/ 02 марта 2019

Если я правильно понимаю ваш вопрос, то вы обнаружите, что логика, запускаемая при нажатии кнопки отправки, может вместо этого автоматически вызываться при выборе файла в элементе <input type="file" />, обновляя шаблон следующим образом:

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

Это приведет к вызову функции clickMe() объекта $scope вмещающего контроллера 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...