Comment puis-je effacer ou réinitialiser des données sous une forme dans angularjs?

Vous avez constaté comment effacer les données de formulaire avec l'utilisation de la fonction angular et $ setPristine, mais toujours aucun résultat ne me donne toujours une erreur indiquant que $ setPristine n'est pas une fonction. Quelqu'un peut-il m'aider pour une solution?

Voici mon contrôle angulaire

$scope.AddCustomer = function () { var CustDetails = { cname: $scope.CusDetails.cname, comname: $scope.CusDetails.comname, tel: $scope.CusDetails.tel, email: $scope.CusDetails.email }; CustService.Customer(CustDetails, function (res) { console.log(res); $.extend($.gritter.options, { position: 'bottom-right', }); if (res.data == 'success') { $.gritter.add({ title: 'Success!', text: 'Successfully added the new customer ' + '<h4><span class="label label-primary">' + CustDetails.cname + '</span></h4>', time: '5000', close_icon: 'l-arrows-remove s16', icon: 'glyphicon glyphicon-ok-circle', class_name: 'success-notice' }); //CustDetails = {}; customerForm.$setPristine(true); } else { $.gritter.add({ title: 'Failed!', text: 'Failed to add a new customer', time: '5000', close_icon: 'l-arrows-remove s16', icon: 'glyphicon glyphicon-remove-circle', class_name: 'error-notice' }); } }); } 

Voici le code Html

 <div ng-controller="AddCustomerController"> <div class="page-content-wrapper"> <div class="page-content-inner"> <div id="page-header" class="clearfix"> <div class="page-header"> <h2>Add Customer</h2> <span class="txt">Create and add new customer.</span> </div> </div> <!--Start .row--> <div class="row"> <div class="col-md-1"> </div> <div class="col-lg-9 col-sm-9 col-xs-12"> <!--col-lg-9 starts here--> <div class="panel panel-default toggle panelMove panelClose panelRefresh"> <div class="panel-heading"> <h4 class="panel-title">Customer Details</h4> </div> <div class="panel-body pt0 pb0"> <form class="form-horizontal group-border stripped" id="customerForm"> <div class="form-group"> <label class="col-lg-2 col-md-3 control-label">Customer Name</label> <div class="col-lg-10 col-md-9"> <input type="text" required id="cname" ng-model="CusDetails.cname" class="form-control" name="cname" /> </div> </div> <!--end of .form-group--> <div class="form-group"> <label class="col-lg-2 col-md-3 control-label">Company Name</label> <div class="col-lg-10 col-md-9"> <input type="text" required id="comname" ng-model="CusDetails.comname" class="form-control" name="comname" /> </div> </div> <!--end of .form-group--> <div class="form-group"> <label class="col-lg-2 col-md-3 control-label" for="">Telephone Number</label> <div class="col-lg-10 col-md-9"> <div class="input-group input-icon"> <span class="input-group-addon"><i class="fa fa-phone s16"></i></span> <input ng-model="CusDetails.tel" class="form-control" id="ctel" type="text" placeholder="(999) 999-9999"> </div> </div> </div> <!-- End .form-group --> <div class="form-group"> <label class="col-lg-2 col-md-3 control-label" for="">Email address</label> <div class="col-lg-10 col-md-9"> <input id="email" ng-model="CusDetails.email" type="text" class="form-control" name="placeholder" placeholder="[email protected]"> </div> </div> <!-- End .form-group --> </form> </div> </div> <!--End .panel--> </div> <!--.col-9 ends here--> </div> <!--End .row--> <!--Start .row--> <div class="row"> <div class="col-md-1"></div> <div class="col-lg-9 col-sm-9 col-xs-12"> <button id="btnSubmit" type="submit" ng-click="AddCustomer()" class="btn btn-info pad"><span class="fa fa-user-plus"></span> Add Customer</button> <button type="submit" class="btn btn-default pad">Cancel</button> </div> </div> </diV> </div> </div> 

Vous pouvez supprimer la valeur du champ de formulaire en supprimant la valeur de ng-model comme

Votre code

 var CustDetails = { cname: $scope.CusDetails.cname, comname: $scope.CusDetails.comname, tel: $scope.CusDetails.tel, email: $scope.CusDetails.email }; 

Remplacez-le par ceci

 $scope.CustDetails = { cname: $scope.CusDetails.cname, comname: $scope.CusDetails.comname, tel: $scope.CusDetails.tel, email: $scope.CusDetails.email }; 

Votre code

 customerForm.$setPristine(true); 

Remplacez-le par ceci

 $scope.CustDetails={}; 

Utilisation

 $scope.customerForm.$setPristine(true); 

Donnez à la forme un nom comme

 name= "CusDetails" 

Ensuite, il résoudra le problème.

utilisation:

 $scope.$destroy 

Car il supprime tous les enfants associés à la portée parentale et effacera toutes les données qui lui sont associées.

  1. Utilisez le nom attr au lieu de l'identifiant. name="forName"
  2. La référence de formulaire dans Controller sera $scope.formName

Vous pouvez définir le formulaire avec le code ci-dessous:

 $scope.customerForm.$setPristine(); $scope.customerForm.$setUntouched(); $scope.CustDetails={};