$setPristine() la méthode Angulaire 1.2.1 ne semble pas fonctionner comme prévu
Je suis en train d'essayer de réinitialiser une zone de texte à l'aide de la $setPristine
fonction dans AngularJS, toutefois, il ne semble pas entraîner le comportement souhaité.
Mon formulaire ressemble à ceci:
<form name="addInviteForm" ng-controller="InviteCtrl" ng-submit="sendInvitation(userEmail)">
Pristine? {{addInviteForm.$pristine}}
<!-- email input -->
<div>
<input type="email" name="email" ng-model="userEmail" placeholder="Enter email here" class="line-item-input see" required>
<span class="error" ng-show="addInviteForm.email.$error.email" style="color:red">Invalid Email</span>
</div>
<!-- submit button -->
<input type="submit" name="send" class="btn btn-success center" value="Send Invitation">
</form>
Et le code correspondant dans mon controller:
$scope.sendInvitation = function(userEmail) {
//do some work here ...
//hmm, this doesn't seem to work ...
$scope.addInviteForm.$setPristine();
};
Si la forme montre que $pristine
est fixé à true
en fonction de la forme de l'entrée, puis mis à false
lors de la saisie de données dans la zone de texte, après la soumission du formulaire, il montrent, en effet, que $pristine
est définie sur true .... et pourtant, la valeur dans la zone de texte reste tel qu'il était avant de le soumettre bouton a été pressé.
Ce qui me manque ici?
OriginalL'auteur dtg | 2013-11-15
Vous devez vous connecter pour publier un commentaire.
$setPristine
n'efface pas les valeurs de contrôles dans le formulaire:De les docs:
Comme vous pouvez le voir à partir de la description ci-dessus,
$setPristine
seules les modifications de l'état de la forme (et donc réinitialise le css appliqué à chaque commande dans le formulaire).Si vous voulez effacer les valeurs de chaque contrôle, alors vous devez faire pour chaque code.
Cette plunker montre
$setPristine
dans l'action.userEmail
à une variable dans la portée de laInviteCtrl
et la réinitialisation de la variable lors de la présentation semble avoir fait le tour.Je crois que je vais dire, la documentation n'est pas très clair à tous. I. e., la distinction sémantique entre "état" du contrôle et de la "valeur" de la commande n'est pas du tout évident....
OriginalL'auteur Davin Tryon