2016-06-21 16 views

答えて

0

をクリア取得されていない入力タイプ=「ファイル」にファイルを提出した後、フォームを明確にする方法を

app.directive('fileModel', ['$parse', 
 
     function($parse) { 
 
     return { 
 
      restrict: 'A', 
 
      link: function(scope, element, attrs) { 
 
      var model = $parse(attrs.fileModel); 
 
      var modelSetter = model.assign; 
 

 
      element.bind('change', function() { 
 
       scope.$apply(function() { 
 
       modelSetter(scope, element[0].files[0]); 
 
       }); 
 
      }); 
 
      } 
 
     }; 
 
     } 
 
    ]); 
 
    app.controller("MyCtrl", function($scope, $http) { 
 
     $scope._answer = { 
 
     text: '', 
 
     comment_pic: '' 
 
     }; 
 

 
     $scope.__answer = JSON.parse(JSON.stringify($scope._answer)); 
 

 
     $scope.addAnswer = function(todo) { 
 
     var data = { 
 
      answer: $scope.__answer.text, 
 
      comment_pic: $scope.__answer.comment_pic, 
 
     }; 
 

 

 
     var fd = new FormData(); 
 
     for (var key in data) { 
 
      fd.append(key, data[key]) 
 
     }; 
 

 
     $http({ 
 
      url: '/posturl' 
 
      data: fd, 
 
      method: "POST", 
 
      headers: { 
 
      'Content-Type': undefined 
 
      } 
 
     }).success(function(data, status) { 
 
      todo.answers.push($scope.__answer); 
 
      $scope._answer.comment_pic = ""; 
 
      $scope.__answer = JSON.parse(JSON.stringify($scope._answer)); 
 
     }); 
 
     }; 
 
    });
<div ng-controller="myCtrl"> 
 
    <form name="addAnswerForm"> 
 
    <input ng-model="__answer.text" /> 
 
    <input type="file" file-model="__answer.comment_pic" /> 
 
    <button type="submit" ng-click="addAnswer(discussion)">Post</button> 
 
    </form> 
 
</div>

フォームがクリアされるフォーム。

document.getElementById( "MyformId")。reset();

別の方法がある場合は教えてください

関連する問題