0

I have few input fields like "Title" "firstname" "lastname" and "date" whose data I'm storing in an Object but I want to create an array of object for this data, so that every time I click submit button a new object should be pushed in the array.

<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <meta charset="UTF-8"> <title>Angular Basic</title> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.8/angular-material.min.css"> </head> <body ng-controller="myCtrl"> <form> <md-input-container> <label>Title</label> <input ng-model="user.title"> </md-input-container> <md-input-container> <label>First Name</label> <input ng-model="user.first_name"> </md-input-container> <md-input-container> <label>Last Name</label> <input ng-model="user.last_name"> </md-input-container> <md-input-container> <label>Enter date</label> <md-datepicker ng-model="user.submissionDate"></md-datepicker> </md-input-container> <md-button class="md-raised md-warn" ng-click="saveData()">Submit</md-button> </form> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-animate.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-aria.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.1.8/angular-material.min.js"></script> <script src="app.js"></script> </body> </html> 

JS file:

var app = angular.module('myApp', ['ngMaterial']).controller('myCtrl', function ($scope) { $scope.user = {} var userArr = []; $scope.saveData = function () { console.log("user", $scope.user) userArr.push(user); console.log(userArr); } }) 
2
  • 2
    userArr.push($scope.user); you should do like this...
    – McRist
    CommentedAug 22, 2018 at 14:24
  • @McRist thank you.. It worked.
    – Adarsh
    CommentedAug 22, 2018 at 14:29

1 Answer 1

3

You missed $scope from user.

 var app = angular.module('myApp', ['ngMaterial']).controller('myCtrl', function ($scope) { $scope.user = {} var userArr = []; $scope.saveData = function () { console.log("user", $scope.user) userArr.push($scope.user) console.log(userArr); } }) 

    Start asking to get answers

    Find the answer to your question by asking.

    Ask question

    Explore related questions

    See similar questions with these tags.