Javascript

Afficher un message de confirmation avant suppression en JavaScript

Dans cet article, nous allons explorer comment mettre en œuvre cette fonctionnalité en utilisant JavaScript.

Lorsque vous développez des applications web interactives, il est souvent nécessaire d’ajouter des fonctionnalités pour éviter les actions accidentelles de l’utilisateur, notamment lors de la suppression de données importantes. Une des meilleures pratiques consiste à demander une confirmation avant de permettre à l’utilisateur de supprimer des éléments.

Pourquoi un message de confirmation ?

Imaginez que vous avez une application de gestion d’articles où les utilisateurs peuvent supprimer des articles. Sans confirmation, un simple clic sur le bouton de suppression pourrait entraîner la perte irréversible de données. En ajoutant un message de confirmation, vous donnez à l’utilisateur l’opportunité de confirmer ou d’annuler son action, réduisant ainsi les risques d’erreurs.

Implémentation en JavaScript

Voici comment vous pouvez ajouter un message de confirmation avant de supprimer un élément en JavaScript :

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Message de confirmation avant suppression</title>
</head>
<body>

<h2>Supprimer un élément avec confirmation</h2>

<!-- Un bouton pour déclencher la suppression -->
<button >

Dans cet exemple :

  • Un bouton est créé avec un événement onclick qui appelle la fonction confirmDelete() lorsque l’utilisateur clique dessus.
  • La fonction confirmDelete() affiche une boîte de dialogue avec un message de confirmation.
  • Si l’utilisateur clique sur « OK », la fonction deleteItem() est appelée pour effectuer la suppression.
  • Si l’utilisateur clique sur « Annuler », aucune action n’est entreprise, mais vous pouvez ajouter du code supplémentaire selon vos besoins.

Voici comment intégrer ces cas particuliers dans l’implémentation avec des extraits de code :

1. Suppression en masse :
function confirmDeleteAll() {
    if (confirm("Êtes-vous sûr de vouloir supprimer tous les éléments sélectionnés ?")) {
        // Logique pour supprimer tous les éléments sélectionnés
        deleteSelectedItems();
    } else {
        console.log("Suppression annulée.");
    }
}
2. Données sensibles :
function confirmSensitiveDelete() {
    var password = prompt("Veuillez saisir votre mot de passe pour confirmer la suppression :");
    if (password === "motdepasse123") {
        deleteSensitiveItem();
    } else {
        alert("Mot de passe incorrect. Suppression annulée.");
    }
}
3. Undo ou annulation :
var deletedItems = [];

function confirmAndDeleteWithUndo() {
    if (confirm("Êtes-vous sûr de vouloir supprimer cet élément ?")) {
        // Logique pour supprimer l'élément
        var deletedItem = deleteItem();
        deletedItems.push(deletedItem);
        setTimeout(function() {
            // Annuler la suppression après 5 secondes
            undoDelete(deletedItem);
        }, 5000);
    } else {
        console.log("Suppression annulée.");
    }
}

function undoDelete(deletedItem) {
    // Logique pour restaurer l'élément supprimé
    console.log("Élément restauré :", deletedItem);
}
4. Personnalisation du message de confirmation :
function confirmCustomMessage(itemId, itemName) {
    if (confirm("Êtes-vous sûr de vouloir supprimer l'élément '" + itemName + "' (ID : " + itemId + ") ?")) {
        deleteCustomItem(itemId);
    } else {
        console.log("Suppression annulée pour l'élément '" + itemName + "'.");
    }
}
5. Traitement des erreurs :
function deleteItemWithErrorHandling() {
    // Logique pour supprimer l'élément
    if (deleteItemSuccessful) {
        console.log("Élément supprimé avec succès !");
    } else {
        alert("Erreur lors de la suppression. Veuillez réessayer plus tard.");
    }
}
6. Accessibilité :

Assurez-vous d’utiliser des balises sémantiques appropriées pour le message de confirmation et que le message est correctement annoncé par un lecteur d’écran. Voici un exemple HTML simple pour la boîte de dialogue de confirmation :

<div role="dialog" aria-labelledby="confirmation-dialog-title" aria-describedby="confirmation-dialog-message">
    <h3 id="confirmation-dialog-title">Confirmation de suppression</h3>
    <p id="confirmation-dialog-message">Êtes-vous sûr de vouloir supprimer cet élément ?</p>
    <button >

En intégrant ces extraits de code dans votre application web, vous pouvez fournir une expérience utilisateur plus robuste et adaptée à différents scénarios de suppression.

Conclusion

Ajouter un message de confirmation avant de permettre la suppression d’éléments est une pratique recommandée pour garantir une meilleure expérience utilisateur et éviter les erreurs coûteuses. En utilisant JavaScript, vous pouvez facilement mettre en œuvre cette fonctionnalité dans vos applications web, offrant ainsi à vos utilisateurs une couche de sécurité supplémentaire lors de la manipulation des données.

AZ

Recent Posts

Flux poussé, flux tiré et flux tendu : Trois manières de faire circuler le travail dans un système réel

Dans beaucoup d’organisations, la production semble avancer sans difficulté. Les ordres circulent, les équipes exécutent,…

14 heures ago

Flux tiré en gestion de production : mise en œuvre, checklist et audit opérationnel

À mesure que les systèmes industriels gagnent en complexité, une évidence s’impose avec une clarté…

24 heures ago

Kanban et flux tiré : Lire un système de production + Simulateur Calcul cartes Kanban et optimisation du flux

Le simulateur Kanban flux tiré ⬇️ en ligne permet de traduire les paramètres clés d’un…

1 jour ago

Analyse de la demande du marché de la chaussure

La demande dans le secteur de la chaussure ne se résume jamais à un simple…

2 jours ago

Fiche technique d’une entreprise : méthode, structure + Exemple

Il suffit parfois de quelques lignes pour qu’une entreprise prenne forme aux yeux d’un interlocuteur.…

2 jours ago

Marketing Communication Quiz : un moyen simple et efficace de tester ses connaissances

Le Marketing Communication Quiz attire de plus en plus d’intérêt, et cela s’explique assez facilement.…

1 semaine ago

This website uses cookies.