Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 角度ng重复创建多个表单语法错误_Angularjs_Forms_Angularjs Ng Repeat - Fatal编程技术网

Angularjs 角度ng重复创建多个表单语法错误

Angularjs 角度ng重复创建多个表单语法错误,angularjs,forms,angularjs-ng-repeat,Angularjs,Forms,Angularjs Ng Repeat,我正在重复一组项目,每个项目都有自己的表单和提交按钮,它将表单信息发送到提交功能。我需要知道哪个项目正在提交,所以我想我应该为每个项目创建一个表单,这将指示哪个项目正在提交。目前,它是在一个类似这样的重复: <input ng-model="query" type="text" placeholder="Filter by" autofocus> <ul class="gNow"> <li ng-repeat="item in selRole.selectR

我正在重复一组项目,每个项目都有自己的表单和提交按钮,它将表单信息发送到提交功能。我需要知道哪个项目正在提交,所以我想我应该为每个项目创建一个表单,这将指示哪个项目正在提交。目前,它是在一个类似这样的重复:

<input ng-model="query" type="text" placeholder="Filter by" autofocus>
<ul class="gNow">
    <li ng-repeat="item in selRole.selectRoles | multifilter:query">
        <form name="selRoleForm-{{item.rowId}}" ng-submit="selRole.selectRole(selRoleForm-{{item.rowId}})" novalidate>
            <div class="card">
                <p>Card Name: {{item.cardName}}</p>
                <p>.. other form elements here ..</p>
                <p><button type="submit">Select</button></p>
            </div>
        </form>
    </li>
</ul>
新的(工作):

使用表格:

<div class="form-group" ng-repeat="item in selRole.selectRoles | multifilter:query">
  <ng-form name="userFieldForm">
    <label></label>
    <input >
  </ng-form>
  </div>

只需将表单名称存储在您的ng重复数组中:

<input ng-model="query" type="text" placeholder="Filter by" autofocus>
<ul class="gNow">
    <li ng-repeat="item in selRole.selectRoles | multifilter:query">
        <form name="{{item.formName}}" ng-submit="selRole.selectRole(item.formName)" novalidate>
        ...

  • ...
您只需在名称串联中反转转换即可。 在ng submit上解析参数时,需要转换的是硬编码字符串,而不是rowId

大概是这样的:

<input ng-model="query" type="text" placeholder="Filter by" autofocus>
<ul class="gNow">
<li ng-repeat="item in selRole.selectRoles | multifilter:query">
    <form name="selRoleForm-{{item.rowId}}" ng-submit="selRole.selectRole('selRoleForm-'+item.rowId)" novalidate>
        <div class="card">
            <p>Card Name: {{item.cardName}}</p>
            <p>.. other form elements here ..</p>
            <p><button type="submit">Select</button></p>
        </div>
    </form>
</li>

  • 卡片名称:{{item.cardName}

    。。此处的其他表单元素

    挑选


这修复了语法错误,为我指明了正确的方向。这让我看到了真正的问题,即在ng submit函数中没有传递正确的对象。添加了问题和解决方案的更新。
<input ng-model="query" type="text" placeholder="Filter by" autofocus>
<ul class="gNow">
    <li ng-repeat="item in selRole.selectRoles | multifilter:query">
        <form name="{{item.formName}}" ng-submit="selRole.selectRole(item.formName)" novalidate>
        ...
<input ng-model="query" type="text" placeholder="Filter by" autofocus>
<ul class="gNow">
<li ng-repeat="item in selRole.selectRoles | multifilter:query">
    <form name="selRoleForm-{{item.rowId}}" ng-submit="selRole.selectRole('selRoleForm-'+item.rowId)" novalidate>
        <div class="card">
            <p>Card Name: {{item.cardName}}</p>
            <p>.. other form elements here ..</p>
            <p><button type="submit">Select</button></p>
        </div>
    </form>
</li>