在AngularJS中,有没有办法将已提交的表单标记为未提交(因此它会丢失ng-submitted
类?
在我的CSS中,我正在使用角度验证类来完成以下任务:
我正在这样做:
input.ng-dirty.ng-invalid, .ng-submitted .ng-invalid {
border-color: #F00;
}
工作正常。现在我有一个提交异步请求的表单,如果服务器响应成功状态,我想清除表单(并有效地将其重置为原始状态)。问题是当我清除表单时,它仍然具有.ng-submitted
类,因此所有必需字段都有一个红色边框。但是我希望他们都有一个正常的边界。
我应该能够使用$setPristine()
将所有字段标记为原始字符,但我没有看到任何方法将表单标记为未提交。这是可能的,还是我需要创建和维护自己的类来执行此操作?
答案 0 :(得分:10)
您可以重置表单,然后使用以下代码片段将其标记为unsubmitted
。
<强> HTML 强>
<input type="button" ng-click="reset(form)" value="Reset" />
Angular Script:
$scope.reset = function(form) {
if (form) {
form.$setPristine();
form.$setUntouched();
}
$scope.user = angular.copy($scope.master);
};