简体   繁体   English

将ng-form的$ dirty手动设为false

[英]Make $dirty manually false for ng-form

I have an ng-form like this :- 我有这样的ng形式:-

<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>

Code :- 代码:-

 $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..!');            
        });

When i change some data in the form, the update btn appears & when user clicks the button the data is saved. 当我更改表单中的某些数据时,将显示update btn并在用户单击按钮时保存数据。 I want to hide this btn when it is clicked & btn should again appear when user changes input field. 我想在单击该btn时隐藏它,并且当用户更改输入字段时btn应该再次出现。

I succeeded in hiding it with jquery. 我成功地用jquery隐藏了它。 but when it it hidden then it again doesn't come back. 但是当它隐藏时,它又不会回来。

Angular支持$ setPristine()来重置表格:

$scope.form.$setPristine(); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM