2

私はの初心者angularJSです。angularjsでフォームを送信したいです。

私は次のコードを使用しています:

var app = angular.module('zippyModule', []);

app.controller('Ctrl3', function($scope, $http, $location,$compile) {

    $scope.submit = function(){
        alert($scope.filename);
    }

});

そして、私が使用している形式で:

  <div ng-show="show">
           <form ng-submit="submit()"  enctype="multipart/form-data">
           <input type="file" ng-model="filename" name="filename" />
           <br/>
           <input type="submit" class="btn btn-primary" name="upload" value="Upload">
           </form>
           </div>

フォームを送信すると、アラートが表示されundefinedます。フォームを送信した後、ファイル フィールドの値を出力するにはどうすればよいですか?

4

1 に答える 1

1

以下は、angularjs を使用したファイル アップロードの実際の例です。

http://jsfiddle.net/danielzen/utp7j/

コントローラーにこれを追加した設定ファイル関数を確認してください

 scope.setFiles = function(element) {
    scope.$apply(function(scope) {
      console.log('files:', element.files);
      // Turn the FileList object into an Array
        scope.files = []
        for (var i = 0; i < element.files.length; i++) {
          scope.files.push(element.files[i])
        }
      scope.progressVisible = false
      });
    };

テンプレートにこの行を追加しました

 <input type="file" ng-model-instant id="fileToUpload" multiple onchange="angular.element(this).scope().setFiles(this)" />
于 2013-08-15T10:11:53.513 に答える