我有一个按钮和一张桌子。如果任何行无效,我想禁用该按钮。我如何实现这一目标?
///// This doesn't work, I have no access to myForm /////
<button ng-disabled="myForm.$invalid">Save</button>
<table>
<tr ng-repeat="item in items" ng-form="myForm">
<td>
<input type="text" name="description" value="{{value.description}}" />
</td>
</tr>
</table>
答案 0 :(得分:1)
你需要多件事:
gold
&#13;
angular.module("app", []).controller("ctrl", function($scope){
$scope.items=[{description:"toto"},{}];//on with already existing one with empty
});
&#13;
答案 1 :(得分:-1)
我不知道你在为每一行的表单做什么,但是为了在表单无效时停用按钮,你必须将表单包裹在表单中:
<form name="myForm">
<input name="description" type="text" ng-model="description" required />
<button ng-disabled="myForm.$invalid">Save</button>
</form>
如果您无法将按钮放在此表单中,那么就是您 不能使用Angular魔法因此使用它没有多大意义 只是半屁股。
在控制器中放置一系列输入模型并检查是否所有模型都有效,然后设置值true / false以停用按钮。
答案 2 :(得分:-1)
首先,您应该定义一个带有name参数的表单,然后创建名称为paramaeter的输入字段。然后,您可以使用表单名称和输入名称参数来获取输入错误。
<form name="myForm" ng-controller="FormController" class="my-form">
userType: <input name="input" ng-model="userType" required>
<span class="error" ng-show="myForm.input.$error.required">Required!</span><br> >
<button ng-disabled="myForm.input.$error.required>"
</form>