在AngularJS中将表单标记为未提交

前端之家收集整理的这篇文章主要介绍了在AngularJS中将表单标记为未提交前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在AngularJS中,有没有办法将已经提交的表单标记为未提交(因此它会丢失ng提交的类?

背景:

在我的CSS中,我使用角度验证类来完成以下操作:

>最初,所有输入都具有正常的边框颜色.
>如果用户修改输入以使其具有无效值,请将边框颜色设置为红色.
>如果用户单击提交按钮,请将所有无效输入的边框颜色设置为红色.

我是这样完成的:

input.ng-dirty.ng-invalid,.ng-submitted .ng-invalid {
    border-color: #F00;
}

这很好.现在我有一个提交异步请求的表单,如果服务器响应成功状态,我想清除表单(并有效地将其重置为原始状态).问题是当我清除表单时,它仍然具有.ng提交的类,因此所有必需的字段都有一个红色边框.但是我希望他们都有一个正常的边界.

我应该能够使用$setPristine()将所有字段标记为pristine,但我没有看到任何方法将表单标记为未提交.这是可能的,还是我需要创建和维护我自己的类来执行此操作?

您可以重置表单,然后使用以下代码片段将其标记为未提交.

HTML:

<input type="button" ng-click="reset(form)" value="Reset" />

角度脚本:

$scope.reset = function(form) {
    if (form) {
      form.$setPristine();
      form.$setUntouched();
    }
    $scope.user = angular.copy($scope.master);
  };

这是从https://docs.angularjs.org/guide/forms

猜你在找的Angularjs相关文章