如何以角度方式迭代表单字段?

Dan*_*Dan 0 javascript angularjs

我有一个包含许多字段的表单,我需要使用一些函数逐个处理.您可以假设我需要将所有字段的值连接成一个字符串.

表格使用ng-model.

<div ng-form="form" ng-submit="submit()" novalidate>
    <input ng-model="ctrl.firstName" required="true">
    <input ng-model="ctrl.lastName" required="true">
    <!-- 30+ more inputs -->
</div>
Run Code Online (Sandbox Code Playgroud)

我想以角度方式做这个,而不是迭代DOM.

Cri*_*ado 5

您可以在角度提交功能上执行以下操作:

for (var field in $scope.ctrl) {
    if ($scope.ctrl.hasOwnProperty(field)) {
        // do stuff
        $scope.ctrl[field] ...
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 更好的是,如果控制器上有其他属性或方法,你不想迭代,你可以命名控制器中的所有表单值 - 比如`$ scope.form.lastname`,`$ scope. form.firstname`等 (3认同)