ses
ses

Reputation: 13342

AngularJS. Converting form fields to json

Trying to understand how could be possible to write a function, (directive / controller) that would transform all my form inputs to json with current value that they have to json.

The json would have a format similar to that:

{    
    fields: [
          {field1: value1},
          {field2: value2},
          {field3, value3}
        ]    
}

Where to start from at least.. with no jquery applying?

Upvotes: 14

Views: 39809

Answers (1)

charlietfl
charlietfl

Reputation: 171679

ng-model does it for you. A scope variable will be created if you haven't already created it yourself

<form name="myForm" ng-submit="submitMyForm()">
    <input ng-model="fields.name"  />
function myController($scope){
    $scope.submitMyForm=function(){
        /* while compiling form , angular created this object*/
        var data=$scope.fields;  
        /* post to server*/
        $http.post(url, data);        
    }

}

If you have the object to start with in your scope angular will 2 way bind to the input, so any values that are initially set in the scope object will show up in the input

Upvotes: 46

Related Questions