9

angular jsを使用input type="file"してアップロードコントロールに使用しています。参照をクリックするたびに、以前に選択したファイルを表示したくありません。デフォルトでは、これは保持されているようです。ディレクティブを書くことで達成できますか?参照をクリックするたびにトリガーできますか?

デフォルトのブラウズボタンをより良いものに置き換えるために、ブートストラップ実装を使用しています。

 <span class="useBootstrap btn btn-default btn-file">
                Browse <input type="file"  />
            </span>
4

4 に答える 4

41

This was the easiest way, without using any directive or complex code.

Browse <input type="file" ng-click="clear()" 

And in your controller

 $scope.clear = function () {
    angular.element("input[type='file']").val(null);
};
于 2015-07-30T05:54:19.580 に答える
0
here is alternate way to clear input file type. 
HTML ->>
`<span class="useBootstrap btn btn-default btn-file">
   Browse <input type="file" ng-if="clearBtn" />
</span>`

Js ->>

`//initial loading
$scope.clearBtn = true;
// after submit / on reset function
$scope.submitform = function(){
//submit logic goes here;
//onsuccess function
$scope.clearBtn = false;
  $timeout(function(){
    $scope.clearBtn = true;
  });
}`
于 2017-04-18T06:01:03.453 に答える