重置表单不起作用

时间:2018-01-02 06:24:21

标签: angularjs

出于某种原因,我的表单不希望在提交后重置。我有一个类型为submit的按钮和一个类型为button的按钮。使用类型为button的按钮时,表单会重置,但不会使用其他按钮。

我也在使用var vm = this

提交的代码:

vm.submit = function(form) {
   if (!form.$invalid) {
      vm.showQuestion(vm.indexOfQuestion);
      vm.putAnswer();
      form.$setPristine();
   }
}

<button class="button" type="submit" ng-click="vm.submit(testForm)">
        Volgende vraag
</button>

button类型按钮的代码:

vm.resetForm = function(form) {
   form.$setPristine();
}


<button class="button" type="button" ng-click="vm.resetForm(testForm)">
        Test
</button>

我的问题是,为什么在单词按钮中使用$setPristine()时表单不会重置,但它适用于普通按钮?如何在点击submit按钮后提交后 重置?

1 个答案:

答案 0 :(得分:0)

我不确定其原因是什么原因,但使用$setPristine()重置表单可以通过添加$timeout函数来实现。

vm.submit = function(form) {
        if (!form.$invalid) {
          vm.showQuestion(vm.indexOfQuestion);
          vm.putAnswer();
          $timeout(function() {
            form.$setPristine();
          });

        }
      }