ng-form提交没有特定ng模型的动态创建表单

时间:2015-04-29 10:25:42

标签: javascript html angularjs forms input

编辑代码以更好地提出问题
感谢迄今为止所有人的帮助!
我有一些动态创建的输入框,没有固定数量的输入,并希望在你去的时候提交它们。
我如何从动态创建的表单中输入来自输入文本框的输入?
希望我的问题有意义吗? 我试图提交的表格如下:
如何将值传递给create()?通过一个当前不起作用...并引用$ scope.a得到' undefined' ... :(
请帮忙谢谢!

<form ng-submit="create(a)">
    <div class="module-head text-center">
        <b class="lead">{{ module.heading }}</b>
        <input class="btn" type="submit" id="submit" value="+"/>
    </div>
    <div class="module-body">
        <div class="control-group" ng-repeat="field in module.fields">
            <label class="control-label">{{field.name}}</label>
            <div class="controls">
                <input type="text" name="fields"
                 ng-model="a[$index]" ng-init="a[$index]=field.data">
            </div>
          </div>
      </div>
</form>

3 个答案:

答案 0 :(得分:0)

这样的事情怎么样?

<form ng-submit="create()">
    <input class="btn" type="submit" id="submit" value="+"/>
    <div ng-repeat="item in items">
        <input type="text" name="fields" ng-model="itemArray[$index]">
    </div>
</form>

提交时,itemArray将包含输入字段的所有模型值。

将原始值指定给输入框。

<input type="text" name="fields" ng-model="a[$index]" ng-init="a[$index]=item"/>

答案 1 :(得分:0)

我不确定是否收到您的问题,但如果您关注的是访问控制器中的ng-model值,则可以创建array$scope.arr=[];

在您的表单中使用它

<div ng-repeat="item in items">
    <input type="text" name="fields" ng-model="arr[item]"/>
</div>

这样$scope.arr将包含您的所有输入值。

请参阅小提琴:http://jsfiddle.net/Sourabh_/HB7LU/13274/

答案 2 :(得分:0)

你会尝试做:

<form ng-submit="create()">
    <input class="btn" type="submit" id="submit" value="+"/>
    <div ng-repeat="item in items">
        <input type="text" name="fields" ng-model="items[$index]">
    </div>
</form>