提交后重置上传文件输入字段
Reset upload file input field after submission
我正在开展一个 AngularJS 项目,该项目涉及通过表单将文件上传到 S3。一切正常(我可以上传文件,输入中的文件名从 "No file chosen" 更改为文件的任何名称)除了成功上传后我想将上传文件字段重置回其原始值(显示:"No file chosen"。即使在将 $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 时,我可以检查该值是否发生变化,事实确实如此,所以我不确定如何重置输入字段恢复默认值。我是不是做错了什么?
//在指令中的回调函数中上传后
$(el).val('')
可以直接清除文件上传控件的值
我正在开展一个 AngularJS 项目,该项目涉及通过表单将文件上传到 S3。一切正常(我可以上传文件,输入中的文件名从 "No file chosen" 更改为文件的任何名称)除了成功上传后我想将上传文件字段重置回其原始值(显示:"No file chosen"。即使在将 $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 时,我可以检查该值是否发生变化,事实确实如此,所以我不确定如何重置输入字段恢复默认值。我是不是做错了什么?
//在指令中的回调函数中上传后
$(el).val('')
可以直接清除文件上传控件的值