Garder Les Choix Bouton Radio Apres Refresh De La Page

Salut l'ami(e) du web! Tu galères, n'est-ce pas? Tu as créé un formulaire avec de jolis boutons radio, tout content de toi... et puis, BANG! L'utilisateur rafraîchit la page, et tout est remis à zéro. Catastrophe! On dirait une comédie d'erreurs... sauf que là, ce n'est pas drôle, hein?

Pas de panique! On est là pour t'aider. Imagine-toi, tu commandes une pizza en ligne, tu choisis la taille, la pâte, les garnitures... et la page se recharge. Tu dois tout recommencer! Frustrant, non? C'est le genre de situation qu'on veut absolument éviter.

Le problème: La mémoire du navigateur est une passoire

En gros, le navigateur, par défaut, a une mémoire de poisson rouge. Il oublie tout après un rafraîchissement. Les boutons radio sélectionnés retournent à leur état initial. C'est comme si ton navigateur te disait : "Ah, tu avais fait un choix? Ben, trop tard! Recommence!". Merci, le navigateur, c'est sympa...

La solution: Persistance des données (on devient sérieux, deux secondes!)

Heureusement, il existe des moyens de contourner ce problème. On va utiliser la persistance des données. Kézako? Ça veut dire qu'on va "sauvegarder" le choix de l'utilisateur avant que la page ne se recharge. Comme prendre une photo d'un gâteau avant de le manger, pour s'en souvenir!

Plusieurs techniques s'offrent à toi. On va explorer les plus courantes :

Personnaliser les boutons radio avec CSS - WayToLearnX
Personnaliser les boutons radio avec CSS - WayToLearnX
  • Cookies: Les vieux de la vieille! Ils sont stockés directement sur l'ordinateur de l'utilisateur. C'est comme cacher un petit mot sous le tapis.
  • LocalStorage: Plus moderne et puissant que les cookies. Stocké aussi sur l'ordinateur de l'utilisateur, mais avec plus de place et plus de flexibilité. C'est comme avoir un coffre-fort pour tes données.
  • SessionStorage: Similaire à LocalStorage, mais les données sont effacées quand l'utilisateur ferme l'onglet ou le navigateur. C'est comme écrire sur un tableau blanc qui se nettoie automatiquement.

Comment ça marche en pratique? (du code, enfin!)

Bon, assez blablaté. On va mettre les mains dans le cambouis, mais promis, ce ne sera pas trop douloureux!

Voici un exemple simple en utilisant LocalStorage :

Le contrôle Radiobutton ou bouton radio.
Le contrôle Radiobutton ou bouton radio.

<input type="radio" id="option1" name="choix" value="1"> Option 1<br>
<input type="radio" id="option2" name="choix" value="2"> Option 2<br>

<script>
  // Au chargement de la page
  window.onload = function() {
    // Récupérer le choix sauvegardé
    var choixSauvegarde = localStorage.getItem('choixUtilisateur');

    // Si un choix a été sauvegardé
    if (choixSauvegarde) {
      // Sélectionner le bouton radio correspondant
      document.getElementById('option' + choixSauvegarde).checked = true;
    }
  };

  // Quand un bouton radio est sélectionné
  document.querySelectorAll('input[name="choix"]').forEach(function(radio) {
    radio.addEventListener('change', function() {
      // Sauvegarder le choix
      localStorage.setItem('choixUtilisateur', this.value);
    });
  });
</script>

Explication :

  • On écoute l'événement onload pour exécuter du code quand la page est complètement chargée.
  • On récupère la valeur sauvegardée dans LocalStorage avec localStorage.getItem('choixUtilisateur').
  • Si une valeur est trouvée, on coche le bouton radio correspondant grâce à document.getElementById('option' + choixSauvegarde).checked = true;
  • On écoute l'événement change sur tous les boutons radio.
  • Quand un bouton est sélectionné, on sauvegarde sa valeur dans LocalStorage avec localStorage.setItem('choixUtilisateur', this.value);.

Et voilà! C'est tout! Bien sûr, tu peux adapter ce code à ton propre formulaire et utiliser d'autres méthodes de persistance des données. Le plus important, c'est de comprendre le principe!

Le design des boutons radio facilite la sélection et la prise de décision.
Le design des boutons radio facilite la sélection et la prise de décision.

En conclusion (la partie où on se sent bien)

Alors, tu vois, ce n'était pas si compliqué! Garder le choix des boutons radio après un rafraîchissement, c'est à la portée de tout le monde. Tu as maintenant les outils nécessaires pour créer des formulaires plus conviviaux et éviter la frustration des utilisateurs. Et ça, c'est une victoire! Tu peux être fier(e) de toi!

Maintenant, va coder, crée, innove, et surtout, amuse-toi! Et n'oublie pas : chaque ligne de code est une petite pierre à l'édifice du web de demain. Alors, construisons-le ensemble, avec passion et bonne humeur! À bientôt!