我的应用程序中有一个页面,其中包含多步骤表单。为了实现这一点,我在单独的选项卡中设置了 3 个表单。然后,只有当您的表单成功验证时,js 才允许您继续下一步。
第一个表单工作完美,我也在第二个表单上使用了相同的结构(如下所示)。
<div class="stepped-content" ng-show="steps[steps_index.yourDetails].active">
<form name="yourDetails" class="form-horizontal vs-onsubmit" ng-submit="submitForm('yourDetails')" novalidate>
<div class="form-group" ng-form="organiser_name">
<label class="col-sm-4 control-label">Event organiser</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="organiser_name" ng-model="event.organiser_name" placeholder="You or your company's name." ng-required="true" />
<div ng-messages="yourDetails.organiser_name.$error">
<div ng-message="required">Please tell us who is organising this event.</div>
</div>
</div>
</div>
</form>
</div>
但是,当我打印出{{ yourDetails.organiser_name | json }}
它是未定义的。 {{ yourDetails }}
本身已定义:
{
"$error": {},
"$name": "yourDetails",
"$dirty": false,
"$pristine": true,
"$valid": true,
"$invalid": false,
"$submitted": false
}
我很难看出我所写的内容有什么问题,所以也许我错过了一条不允许多种 Angular 形式的规则?
谢谢
最佳答案
不超过一个表单,但表单名称会用来放 FormController
进入范围。
如果您有两个或多个表单具有相同的 name
属性,则最后处理的表单将覆盖之前的表单。
关于javascript - 无法访问第二种形式的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28301025/