gra*_*hez 8 javascript validation angularjs
在我的控制器中,我只想在表单有效时调用一个动作(比如Tab按下).我还需要在表单成功提交后立即清除表单.我有类似的东西
app.controller('CommentFormController', function($scope) {
  $scope.submit = function() {
    if($scope.commentForm.$valid) {
      // submit form
      $scope.comment = '';
      $scope.commentForm.$setPristine();
    }
  }
});
我想测试这个,但看起来我必须$scope.contactForm手动创建这个并且存根$setPristine()函数.
有没有其他方法来测试它?我的意思是我可以以某种方式获得FormController我的测试中的底层实例吗?
你如何处理这种情况?
小智 1
将表单设置为原始状态会影响表单的状态,但不会将表单重置为默认值(如果您已提供)。相反,您可以使用 DOM 元素方法 reset()。
像这样的东西:
document.getElementById("yourform").reset();
或者,由于 angularJS 和 jQuery 运行良好,您可以使用 css 选择器(如果您想要一次清除多个表单,则特别有用。
所以像这样:
$("#yourform")[0].reset();
还有纯 javascript 方法可以做到这一点: http://www.javascript-coder.com/javascript-form/javascript-reset-form.phtml
--- 所以总而言之,你不需要使用特定的方法来做到这一点,只需使用 DOM 方法、jQuery 或纯 javascript 即可。谷歌可能很快就会推出一种方法来做到这一点。希望这可以帮助。