在表单提交之后,如果仅仅是清空表单数据内容,相应 input
的 class
并不会改变(依然是 ng-dirty
状态),我们需要移除这些红色的 required
提示。
- <div ng-app="myApp" ng-controller="myCtrl as ctrl">
- <form name="ctrl.myForm">
- <div><label for="email">Email</label>
- <input name="myInput" type="email" ng-model="ctrl.email" id="email" required></div>
- <div><label for="password">Password</label>
- <input name="myPassword" type="password" minlength="8" ng-model="ctrl.password" id="password" required></div>
- <div>
- <button ng-click="ctrl.reset()" type="button">Reset</button>
- </div>
- </form>
JavaScript
代码:
- angular.module('myApp',[])
- .controller('myCtrl',myCtrl);
- function myCtrl(){
- var vm = this;
- vm.reset = function(){
- vm.myForm.$setPristine();
- vm.myForm.$setUntouched();
- vm.email = vm.password = '';
- }
- }
表单input区域必须放在 form
中