提交后重置上传文件输入字段

时间:2017-06-13 20:18:12

标签: angularjs file-upload angularjs-directive mean-stack

我正在开发一个AngularJS项目,该项目涉及通过表单将文件上传到S3。一切正常(我可以上传文件,输入上的文件名更改为"没有选择文件"无论文件的名称是什么)除了成功上传后我想重置上传文件字段到它的原始值(显示:"没有选择文件"。即使在将$ scope.file重置为null后我也无法做到这一点。我在这里输入了上传文件作为指令

angular.module('myApp').directive('file', function() {

  return {
    restrict: 'AE',
    scope: false,
    link: function(scope, el, attrs){

     scope.$watch('file', function(newValue, oldValue){
        console.log(newValue);
        console.log(scope.file);
     });

     el.on('change', function(event){
       var files = event.target.files;
       var file = files[0];
       scope.file = file;
    });
  }
};
});

我有一个观察程序设置,所以当我通过控制器将它设置为null时,我可以检查值是否正在改变,所以我不确定我能做些什么来重置输入字段回到默认值。我在这里做错了吗?

1 个答案:

答案 0 :(得分:0)

//在指令

中的回调函数中上传后
$(el).val('')

您可以直接清除文件上传控件的值