Maison > interface Web > js tutoriel > le corps du texte

Pourquoi mes boutons de formulaire angulaire provoquent-ils l'actualisation de la page et comment puis-je l'arrêter ?

Mary-Kate Olsen
Libérer: 2024-11-24 07:34:09
original
456 Les gens l'ont consulté

Why Do My Angular Form Buttons Cause Page Refreshes, and How Can I Stop It?

Naviguer sans actualisation de la page : résoudre les problèmes de clic sur les boutons de formulaire

Lorsque vous travaillez avec des formulaires dans Angular, il est courant de rencontrer un comportement inattendu lorsque vous cliquez sur un bouton non -boutons de soumission dans le formulaire. Dans certains cas, la page peut s'actualiser, entraînant des conséquences indésirables. Cet article explore la raison de ce comportement et propose des solutions pour empêcher les actualisations de page indésirables.

Le problème se produit car les éléments du formulaire sont généralement conçus pour soumettre l'intégralité du formulaire lorsqu'ils sont cliqués, sauf configuration contraire explicite. Dans Angular, ce comportement est déclenché par un événement « submit » implicite sur des éléments de bouton sans attribut « type » spécifié ou lorsqu'un événement « ng-click » est appliqué à un bouton.

Considérez l'exemple suivant :

<form class="form-horizontal">
  <button>
Copier après la connexion
Copier après la connexion

Lorsque le bouton "Modifier" est cliqué avec l'événement 'ng-click', Angular exécute la fonction 'showChangePassword()', mais le comportement de soumission du formulaire par défaut reste intact, provoquant l'actualisation de la page.

Pour éviter ce comportement, une solution consiste à attribuer l'attribut 'type' à 'bouton' :

<form class="form-horizontal">
  <button>
Copier après la connexion
Copier après la connexion

Par en spécifiant 'type="button"', nous indiquons explicitement que ce bouton ne doit pas déclencher la soumission d'un formulaire. Cela empêche Angular de lancer l'action de soumission par défaut et permet à l'événement personnalisé 'ng-click' de s'exécuter sans recharger la page.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal