сохранить данные формы, используя angular js - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь сохранить форму ниже. пожалуйста, проверьте мою форму html

html

<form ng-submit="save()">
    <input type="text" ng-model="user.name"/>
    <input type="text" ng-model="user.age"/>
    <input type="text" ng-model="user.homenumber"/>
    <input type="text" ng-model="user.road"/>
    <input type="text" ng-model="user.city"/>
    <input type="text" ng-model="user.school"/>
    <button type="submit">Save </button>
</form>

я сохранил это, используя функцию ниже.

$scope.save = function (){
    console.log($scope.user)
}

мой результат как ниже

{ name:"dais",
  age:"24",
  "homenumber":"23",
  "road":"new road",
  "city":"colombo",
  school:"new school"
}

но мне нужно сохранить эту форму как показано ниже json

запрошенный

{name:"dais",
 age:"24",
 "address":{
     "homenumber":"23",
     "road":"new road",
     "city":"colombo"
 },
 school:"new school"
}

Можете ли вы помочь мне изменить мою функцию сохранения, чтобы сделать это.

Ответы [ 3 ]

1 голос
/ 25 февраля 2020
<input type="text" ng-model="user.homenumber"/>
<input type="text" ng-model="user.road"/>
<input type="text" ng-model="user.city"/>

Должно быть

<input type="text" ng-model="user.address.homenumber"/>
<input type="text" ng-model="user.address.road"/>
<input type="text" ng-model="user.address.city"/>
1 голос
/ 25 февраля 2020

Для этой цели у вас может быть адресный объект:

$scope.user = {};
$scope.user.address = {};

$scope.save = function () {
    console.log($scope.user);
}
<form ng-submit="save()">
    <input type="text" ng-model="user.name"/>
    <input type="text" ng-model="user.age"/>
    <input type="text" ng-model="user.address.homenumber"/>
    <input type="text" ng-model="user.address.road"/>
    <input type="text" ng-model="user.address.city"/>
    <input type="text" ng-model="user.school"/>
    <button type="submit">Save </button>
</form>
0 голосов
/ 25 февраля 2020

Вы можете создать функцию конструктора

function DataToSave(data){
  this.name = data.name;
  this.age = data.age;
  this.address ={homenumber : data.homenumber, road:data.road, city:data.city };
  this.school = data.school
}

и использовать ее как

 $scope.save = function (){
  let dataToSave = new DataToSave($scope.user);
  console.log(dataToSave);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...