如何从Angular JS表单中获取数据

时间:2013-10-29 18:05:22

标签: javascript json angularjs angularjs-ng-repeat

我在这里创建了一个plunker:http://plnkr.co/qbWBFo,它显示了一个基于某些json(键)自动填充的表单。当用户点击提交时,我需要访问填写的所有数据并创建如下所示的json。显然,如果名为“myform.rows”的div具有静态字段,我将能够调用$ scope.myform.rows。并获取所有数据。有什么建议?谢谢

更新:填写所有表单字段后用户点击提交时我想要的json是这样的:

{

  "Date Of Birth": {
          "value": "19 May, 1990",
          "tag": "a"
  },
  "Employer": {
          "value": "Starbucks",
          "tag": "b"
  },
  "First Name": {
          "value": "Jane",
          "tag": "a"
  },
  "Last Name":{
          "value": "Doe",
          "tag": "c"
  },
  "Middle Name": {
          "value": "K.",
          "tag": "c"
  },
  "Place Of Birth": {
          "value": "Houston, Texas",
          "tag": "d"
  }

}

2 个答案:

答案 0 :(得分:1)

在表单控件上使用ng-model。这将自动绑定到范围内的同一变量。

假设你在范围内开始一个对象:$scope.myFormData={};

然后添加到输入ng-model;

<input ng-model="myFormData.name"/>
<input ng-model="myFormData.phone"/>

作为用户类型,myFormData对象将使用与该对象匹配的任何ng-model自动更新

然后在submit方法中,将该对象发送到服务器。

DEMO

答案 1 :(得分:1)

以下应该适合你:

<input type="text" ng-model="formData[k]"/> 其中k是JSON的键/属性。

我在这里创建了Plunkr:http://plnkr.co/edit/hyBFpRr3OOtanuYsGibs