AngularJS如何在用户发送表单时输入数据和id

时间:2016-03-24 14:42:59

标签: javascript angularjs

我想将api date和newsId与表格中的数据一起发送。 这是我的表格:

 <div class="well">
  <h4>Leave a Comment:</h4>
  <form role="form" ng-submit="createComm(newComment)" novalidate>
    <div class="form-group">
      <input type="text" class="form-control" placeholder="Autor" ng-model="newComment.author">
    </div>
    <div class="form-group">
      <textarea class="form-control" ng-model="newComment.comment" rows="3"></textarea>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
  </form>
</div>

控制器:

.controller('CommentController',
    function($scope, $routeParams, NewsModel){

      var newsId = $routeParams.id;
      path = 'getCommetnsByNewsId/'+newsId;

      var comm = this;
      var data = new Date().toLocaleString();

      //comm.newComm.data = data; //this way?

      $scope.createComm = function(comment){
          NewsModel.create(comment).then(function (result){
            initCreateComm();
          })
      }

      function initCreateComm(){
         comm.newComm = { comment: '', author: '', data: '', id: ''};
      }

    })

和服务

 service.createComm = function(comm){
      return $http.post(getUrl(),comm);
    }

如何添加此代码以发送数据和newsId?我不想将数据和id保存为html输入。

1 个答案:

答案 0 :(得分:1)

您可以在使用angular.extend创建评论请求时提交表单后发送:

$scope.createComm = function(comment){
    NewsModel.create(angular.extend({}, {data: data, newsId: newsId}, comment)).then(function (result){
        initCreateComm();
    })
}