Javascript 动态形式不是';未标记为已提交
我有一个ng repeat,其中包含以下表单:Javascript 动态形式不是';未标记为已提交,javascript,angularjs,angularjs-ng-form,Javascript,Angularjs,Angularjs Ng Form,我有一个ng repeat,其中包含以下表单: <form name="wrapperForm"> <div ng-repeat="thing in things track by $index"> <ng-form name="myForm{{$index}}"> <input type="text" ng-model="thing.name" required /> <span ng-show="myF
<form name="wrapperForm">
<div ng-repeat="thing in things track by $index">
<ng-form name="myForm{{$index}}">
<input type="text" ng-model="thing.name" required />
<span ng-show="myForm{{$index}}.$submitted">Form submitted!</span>
<button type="button" ng-click="doSubmit($index)" />
</ng-form>
</div>
</form>
无论出于何种原因,
$setSubmitted
都不会执行任何操作,也不会更改表单的$submitted
属性。不确定您做错了什么。我有一个基于你的例子。我使用的是表单。$invalid
但这是相同的想法。我不能重现你的错误。请提供更多详细信息。@ryanyyu-区别在于,您的错误在无效时显示,我在表单提交时显示。$submitted
这是相同的想法。一个概念的证明。然后您必须提交表单,消息也应该以同样的方式显示。您当前的语法没有问题。除了在您提供的代码中没有实际提交表单之外。@ryanyyu进行了必要的编辑-问题是表单从未将$submitted设置为true。我仍然无法复制此设置。一旦我正确地关闭了
元素,它就可以正常工作了。我根据之前的评论更新了plunker。
$scope.doSubmit = function(index) {
var form = $scope.wrapperForm['myForm' + index];
form.$setSubmitted();
}