J'ai un code de contrôleur suivant avec moi:

var app = angular.module('app_name');

app.controller("manageUsersController", [ "config", "$scope", "$http", "$mdToast",
    function(config, $scope, $http, $mdToast) {

        $scope.add = function() {
            var userData = {
                email : $scope.manageUsers.email,
                password : $scope.manageUsers.password,
                schoolId : '1',
                name : $scope.manageUsers.name,
                mobileNumber : $scope.manageUsers.mobileNumber
            };
            $http.post(config.webServicesUrl.postAddUser, userData, headerConfig).success(
                    function(data) { 
                                    displayToastMessage("User added successfully", $mdToast);
                    }).error(function(error) { 
                        console.log(error.error);                   
            });             
        }
    }]);

Tous les champs HTML sont des champs d'entrée et sont accessibles à l'aide de l'objet $ scope.

J'ai essayé avec $ setPristine mais cela n'a pas fonctionné.

Quelqu'un s'il vous plaît aidez-moi à définir tous les champs à vider lors de la soumission réussie du formulaire uniquement dans mon code.

Merci.

0
PHPLover 8 mars 2016 à 14:45

3 réponses

Meilleure réponse

Si vous souhaitez réinitialiser votre formulaire à la fin, je pense que vous devez réinitialiser l'objet $scope.manageUsers manuellement une fois que votre demande post est résolue:

  $http.post(config.webServicesUrl.postAddUser, userData, headerConfig).success(
    function(data) {
      // has I don't know if you have other properties
      // I reset each property manually,
      // but you could probably do $scope.manageUsers = {}
      $scope.manageUsers.email = null;
      $scope.manageUsers.password = null;
      $scope.manageUsers.name = null;
      $scope.manageUsers.mobileNumber = null;
      displayToastMessage("User added successfully", $mdToast);
    }).error(function(error) {
    console.log(error.error);
  });
2
cl3m 8 mars 2016 à 11:51

Vous pouvez utiliser $setPristine() ici:

$http.post(config.webServicesUrl.postAddUser, userData, headerConfig).success(
  function(data) {
    displayToastMessage("User added successfully", $mdToast);
    $scope.form.$setPristine(); // <---------here.
  }).error(function(error) {
  console.log(error.error);
});

Démo Plnkr en action.

0
Jai 8 mars 2016 à 11:53

Il devrait fonctionner pour vous.

 $http.post(config.webServicesUrl.postAddUser,userData,headerConfig)
               .success(function(data) { 
                  $scope.manageUsers={};                      
                  displayToastMessage("User added successfully.", $mdToast);
              }).error(function(error) { 
                  console.log(error.error);                   
             });  
0
moks 8 mars 2016 à 12:06