下面是Ng-Book - the Complete Book on Angularjs
Book by Ari Lerner
http://jsbin.com/voxirajoru/edit?html,output的一个示例,其中ng-form
用于创建嵌套的表单元素并执行验证。由于每个输入字段对name
属性具有相同的值,因此如何在服务器端我可以通过使用一些服务器端语言访问所有三个变量的值?假设是PHP
, method
是post
。通常在PHP
中我会这样做:
`$_POST['dynamic_input']`
但是如何使用$_POST
数组访问来自输入字段的三个字段值?
使用您提供的链接中的示例,您可以通过使用以下代码更新那里的代码来访问表单数据。
//将字段对象作为参数添加到submitForm()
<form name="signup_form" ng-controller="FormController" ng-submit="submitForm(fields)" novalidate>
//在$scope.submitForm()函数中…
$scope.submitForm = function(data) {
alert(data[0].name); // Alerts name
alert(data[1].name); // Alerts password
alert(data[2].name); // Alerts email
};
如果注销submitForm()接收到的数据,将得到以下结果:
[{"placeholder":"Username","isRequired":true,"$$hashKey":"004","name":"random name"},{"placeholder":"Password","isRequired":true,"$$hashKey":"005","name":"password"},{"placeholder":"Email (optional)","isRequired":false,"$$hashKey":"006","name":"email@host.com"}]
要传递到服务器,将所有这些打包或格式化成您喜欢的格式,并通过$作用域内的内置$http.post()
或$resource()
将其发送到服务器。submitForm函数。
格式化数据的一个例子可以是:
$scope.submitForm = function(data) {
var postData = {};
postData.name = data[0].name;
postData.password = data[1].name;
postData.email = data[2].name;
... send postData to server via AJAX ...
// Creates the object: {"name":"random name","password":"password","email":"email@host.com"}
//alert(JSON.stringify(postData));
};