我正在寻找将非绑定(正确的术语?)表单数据传递给控制器​​方法的最佳方法。 我将如何访问表单的对象及其值?

HTML

<html ng-app="app">
<body ng-controller="MainController as main">
<ng-form name="add_lead_form">
    <div ng-repeat="label in form.lead_labels track by $index" ng-show="label.visible">
        <div class="input-group lead-data">
            <span class="input-group-addon">{{getLabel(label)}}</span>
             <input ng-model="add_lead_form.addleadValue[$index]" name="addleadValue" type="text" class="form-control" aria-describedby="basic-addon1">
             <input type="hidden" ng-model="add_lead_form.addleadLabelId[$index]" name="add_lead_form.addleadLabelId" ng-value="label.id" />
        </div>
    </div>


    <div class="pull-right"><button ng-click="addLead()" class="btn btn-primary btn-lg">Save Lead</button></div>
</ng-form>
</body>
</html>

app.js

var app = angular.module('app', []);

app.controller('MainController', ['$scope', function($scope) {
    $scope.addLead = function() {
        console.log($scope.add_lead_form);
    };

}]);

#1楼 票数:1

您无法访问已在父div中声明的ng-repeat内的表单 ,要创建正确的表单,可以在ng-repeat内添加新的innerForm ,您必须通过添加新的innerForm来更改html结构

<div ng-repeat="label in form.lead_labels track by $index" ng-show="label.visible">
    <ng-form name="innerForm">
        <div class="input-group lead-data">
            <span class="input-group-addon">{{getLabel(label)}}</span>
            <input ng-model="add_lead_form.addleadValue[$index]" name="innerForm.addleadValue" type="text" class="form-control" aria-describedby="basic-addon1">
            <input type="hidden" ng-model="add_lead_form.addleadLabelId[$index]" name="innerForm.addleadLabelId" ng-value="label.id" />
        </div>
    </ng-form>
</div>

使用上面的代码尝试一下,谢谢

  ask by Don Boots translate from so

未解决问题?本站智能推荐:

2回复

如何使用ng-repeat和ng-form创建的动态表单元素验证动态规则?

我有一个下拉列表,可以动态生成任意数量的文本输入,所有这些输入都有不同的验证规则(最小/最大长度,模式等)。 根据其他几个stackoverflow问题,即。 ( 如何验证使用ng-repeat,ng-show(角度)动态创建的输入 )使用ng-form模块可以使您通过动态验证来创建动态表单
1回复

ng-form在ng-repeat内部,使用ng-repeat之外的提交按钮

我有这个代码: 控制器: 问题是我只能验证ng-repeat和ng-form中的表单输入,我需要触发该html块之外的事件,也许我只是noob(第一次使用angular1验证)。 我会感激一些帮助。 提前致谢。
1回复

使用ng-repeat,ng-form和ng-submit后如何提交

我正在使用一些数据来获取以下图书列表:- 1100-500-指环王参考(InputBox)备注(InputBox)SubmitBox 21002-570-哈利波特参考(InputBox)备注(InputBox)SubmitBox 3 1003-720-达芬奇代码参考(Input
1回复

ng-repeat内的ng-form不更新子窗体。

我正在尝试在ng-repeat内创建表单,除“提交”按钮外,其他一切都正常。 提交按钮放置在主窗体中,这对于所有子窗体都是通用的。 如果单击提交按钮,则mainForm.$submitted会更新,但userForm.$submitted剂量不会更改。 有什么解决办法吗?
1回复

使用ng-form进行角度ng-repeat,在控制器中访问验证

我正在尝试使用ng-repeat生成可编辑列表。 我想提醒用户在继续之前更新任何编辑,因此我使用ng-form创建“嵌套”表单,因为文档说我可以对这些动态创建的输入使用验证。 虽然这似乎在HTML中工作,但我没有看到如何在控制器中访问那些动态创建的表单和相关的验证字段。 具体来说,当用
1回复

ng-form和ng-submit在ng-repeat中

我一直在尝试获取一个嵌套表单来正确验证,然后在单击“提交”按钮时在控制器上调用一个函数。 我尝试删除除提交按钮之外的所有按钮,但它不起作用。 我唯一能够开始工作的就是Ng单击按钮,但是我需要验证,并且此方法不允许触发验证。 这是Controller和HTML中的方法,如果通过ng-cl
2回复

将ng-form与ng-repeat一起使用时,AngularJs单选按钮已连接

看到这个plnkr http://plnkr.co/edit/WZHMuYY3y2wbI6UysvY6?p=preview 在包含单选按钮组的ng-repeat上使用ng-form标记时,单选按钮是链接的,因此,如果选中一个ng-repeat中的单选按钮,它将取消所有其他ng-repeat
2回复

如何获取ng-form中的所有元素

是否有可能像form一样将所有元素都包含在ng-form中? 对于: 这有效: 但对于: 这都不是: 也不是这样: 似乎有效。 他们返回未定义。 ng-form是否有办法获取其所有元素?