forms - AngularJs 提交表单并重置 $pristine 状态

标签 forms angularjs

以这种形式为例http://plnkr.co/edit/fHEBw6dDdG3IVgnmCLb7?p=preview
我怎样才能把 $pristine SAVE DRAFT 之后表单的状态为真按钮被按下?

最佳答案

您可以调用 $setPristine form : http://plnkr.co/edit/wXaFXtuhNH6d4SP2uArm?p=preview

<button ng-click="reset(); form.$setPristine()">RESET</button>
<button ng-click="update(user); form.$setPristine()">SAVE</button>

或者您可以在 Controller 中调用该方法(确保表单存在之后):

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

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

演示:http://plnkr.co/edit/Mau7uuDfPlzcn418OdWh?p=preview

关于forms - AngularJs 提交表单并重置 $pristine 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20490958/

相关文章:

javascript - 递归模板中的 Angular ng-Options

jquery - 使用 jQuery 检查每个必需的输入是否为空值

javascript - 将输入字段的占位符更改为最后提交的值或零

javascript - 如何使用 Jquery 声明一个函数

javascript - 在表单提交之前调用函数的更好方法是什么?

javascript - 带有 ng-repeat 的 Angular JS 指令无法遍历子元素

angularjs - 类型错误:未定义不是函数 - Angular Animate

javascript - 使用 Jquery Validator 出现验证错误时如何避免或禁用表单提交

angularjs - ng-maxlength 不适用于变量

javascript - 如何使用 Angular Js 自动运行 Colorbox