在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 是一个JavaScript 框架。它可通过 注:建议把脚本放在 元素的底部。这会提高网页加载速度,因...
angluarjs中页面初始化的时候会出现语法{{}}在页面中问题,也即是页面闪烁问题。出现这个的原因是:由于...
AngularJS 通过被称为指令的新属性来扩展 HTML。AngularJS 指令AngularJS 指令是扩展的 HTML 属性,带有...
AngularJS 使用表达式把数据绑定到 HTML。AngularJS 表达式AngularJS 表达式写在双大括号内:{{ expres...
ng-repeat 指令可以完美的显示表格。在表格中显示数据 {{ x.Name }} {{ x.Country }} 使用 CSS 样式为了...
$http是 AngularJS 中的一个核心服务,用于读取远程服务器的数据。读取 JSON 文件下是存储在web服务器上...