在Angularjs控制器内捕获表单数据
我对Angularjs是新手。我有表单数据,我需要向传递数据的服务器发出post请求。我已经在angularjs中完成了UI和控制器部分,但不知道如何捕获表单数据。请找到plnkr的链接- 单击add按钮,添加一个新的在Angularjs控制器内捕获表单数据,angularjs,angularjs-scope,angularjs-controller,Angularjs,Angularjs Scope,Angularjs Controller,我对Angularjs是新手。我有表单数据,我需要向传递数据的服务器发出post请求。我已经在angularjs中完成了UI和控制器部分,但不知道如何捕获表单数据。请找到plnkr的链接- 单击add按钮,添加一个新的li元素,单击减号时删除该元素。我需要把所有的键值项转换成以下格式,以便发送Post请求 { "search_params": [ { "key": "search string", "predicate": "matches", "value":
li
元素,单击减号时删除该元素。我需要把所有的键值项转换成以下格式,以便发送Post请求
{
"search_params": [
{
"key": "search string",
"predicate": "matches",
"value": "choosen text"
},
{
"key": "search string",
"predicate": "not-matches",
"value": " search value"
},
{
"key": "search string",
"predicate": "matches",
"value": " search value"
}
]
}
如何在控制器内的searchParams
函数中捕获表单数据并在我的控制器内构造param对象。请让我知道,因为我是Angularjs的新手
更新问题
根据输入,我能够在控制器中获得用户详细信息。但有几件事:
- 默认情况下,将有一个
元素,当用户提交时,当前li
元素数据应在控制器中捕获li
- 只有当我使用加号按钮添加条件时,数组才会得到更新,但提交时模型中的最后一个元素数据不会更新
- 删除这些标准也同样适用
,
需要ng模型属性才能将输入正确绑定到$scope属性
在HTML标记中,必须使用必需的属性(如ng模型)更新表单元素
我建议(在控制器/链接中)对具有不同属性的表单数据只使用一个对象,如
var form = {
name: '',
surname: '',
wharever: ''
}
相应的
将为ex.
填充“form”对象后,您可以在请求之前执行JSON.stringify(form)(如果您使用其他内容类型,则使用application/JSON)。根据您发布的JSON,在@Chris Hermut上展开,并假设您需要一个映射数组。你可以这样做
var arr = [];
var form = {
name: 'asd',
surname: 'aasdasdsd',
wharever: 'asd'
}
arr.push(form);
//prentending to be another (key,value)
form.surname = 'hfg';
arr.push(form);
下面是一个例子。这可能有助于您开始工作。我验证了您的plunkr,但有些条件不起作用。我更新了问题