AngularJs:如何檢查文件輸入字段中的更改?我對角不熟悉。我試圖從HTML‘file’字段讀取上傳的文件路徑,每當該字段發生“更改”時。如果我使用“onChange”,它會起作用,但當我用角度方式使用“ng-Change”時,它就不起作用了。<script>
var DemoModule = angular.module("Demo",[]);
DemoModule .controller("form-cntlr",function($scope){
$scope.selectFile = function()
{
$("#file").click();
}
$scope.fileNameChaged = function()
{
alert("select file");
}});</script><div ng-controller="form-cntlr">
<form>
<button ng-click="selectFile()">Upload Your File</button>
<input type="file" style="display:none"
id="file" name='file' ng-Change="fileNameChaged()"/>
</form> </div>fileNameChage()從來不打電話。Firebug也不會顯示任何錯誤。
3 回答
揚帆大魚
TA貢獻1799條經驗 獲得超9個贊
view.html:
<input type="file" custom-on-change="uploadFile">
js:
app.controller('myCtrl', function($scope){
$scope.uploadFile = function(event){
var files = event.target.files;
};});js:
app.directive('customOnChange', function() {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var onChangeHandler = scope.$eval(attrs.customOnChange);
element.on('change', onChangeHandler);
element.on('$destroy', function() {
element.off();
});
}
};});
森林海
TA貢獻2011條經驗 獲得超2個贊
<input data-file id="id_image" name="image" ng-model="my_image_model" type="file">
app.directive('file', function() {
return {
require:"ngModel",
restrict: 'A',
link: function($scope, el, attrs, ngModel){
el.bind('change', function(event){
var files = event.target.files;
var file = files[0];
ngModel.$setViewValue(file);
$scope.$apply();
});
}
};});- 3 回答
- 0 關注
- 582 瀏覽
添加回答
舉報
0/150
提交
取消
