lukassz
lukassz

Reputation: 3340

AngularJS how to put data and id when user send form

I would like to send my api date and newsId together with data from form. This is my form:

 <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:

.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: ''};
      }

    })

and service

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

How can I add to this code to send data and newsId? I do not want to keep data and id as html input.

Upvotes: 1

Views: 245

Answers (1)

xSaber
xSaber

Reputation: 384

You could send it after form submitting on create comment request with angular.extend:

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

Upvotes: 1

Related Questions