对于ng-form,将$ dirty手动设为false

时间:2014-05-21 11:17:53

标签: javascript angularjs

我有这样的ng-form: -

<div class="col-sm-4" ng-form="basicinformationform" data-ng-init="getData('basicinformation')">
      <button class="btn-small" ng-click="updateData('basicinformation')" ng-show="basicinformationform.$dirty">Update</button>
      <div>
            <input type="text" class="form-control" id="basicfirstname" ng-model="data.basicinformation[0].firstname"
                    required />
            ...............
      </div>
</div>

代码: -

 $scope.updateData = function (category) {
            switch (category) {
                case 'basicinformation':
                    $scope.categorynewdata = $scope.data.basicinformation[0];
                    break;
            Users.updateData().save(query).$promise.then(function (data) {
                    alert('Data updated successfully..!');            
        });

当我更改表单中的某些数据时,会出现update btn&amp;当用户单击按钮时,数据将被保存。我想在点击它时隐藏这个btn&amp;当用户更改输入字段时,btn应再次出现。

我成功地用jquery隐藏了它。但是当它被隐藏起来时它又不会再回来了。

1 个答案:

答案 0 :(得分:1)

Angular支持$ setPristine()重置表单:

$scope.form.$setPristine();