IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Utiliser localstorage pour enregistrer et masquer un formulaire


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Utiliser localstorage pour enregistrer et masquer un formulaire
    Salut tout le monde,
    Quelqu'un pourrait m'aider avec la fonction localstorage? J'ai un formulaire multi-steps et j'aimerais enregistrer l'étape où se trouve l'utilisateur, afin qu'il ne repart du début en cas de changement de page.
    J'aimerais aussi ne plus jamais afficher le formulaire, si l'utilisateur clique sur le dernier bouton "Let's go".
    Voici le code fiddle: https://jsfiddle.net/khbjvtd0/1/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    if (localStorage.getItem('step') !== null) {
      var currentTab = +localStorage.getItem("step");
    } else {
      var currentTab = 0;
    }
     
    // Current tab is set to be the first tab (0)
    showTab(currentTab); // Display the current tab
     
    function showTab(n) {
      // This function will display the specified tab of the form...
      var x = document.getElementsByClassName("tabM");
      x[n].style.display = "block";
      //... and fix the Previous/Next buttons:
      if (n == 0) {
        document.getElementById("prevBtn").style.display = "none";
      } else {
        document.getElementById("prevBtn").style.display = "inline";
      }
      if (n == (x.length - 1)) {
        document.getElementById("nextBtn").innerHTML = "Let's go";
      } else {
        document.getElementById("nextBtn").innerHTML = "Suivant";
      }
      //... and run a function that will display the correct step indicator:
      fixStepIndicator(n)
    }
     
    function nextPrev(n) {
      // This function will figure out which tab to display
      var x = document.getElementsByClassName("tabM");
      // Hide the current tab:
      x[currentTab].style.display = "none";
      // Increase or decrease the current tab by 1:
      currentTab = currentTab + n;
      window.localStorage.setItem('step', currentTab);
      document.getElementById("demo").innerHTML = localStorage.getItem("step");
     
     
      // if you have reached the end of the form...
      if (currentTab >= x.length) {
        // ... the form gets submitted:
        document.getElementById("regForm").style.display = "none";
        return false;
      }
      // Otherwise, display the correct tab:
      showTab(currentTab);
    }
     
    function fixStepIndicator(n) {
      // This function removes the "active" class of all steps...
      var i, x = document.getElementsByClassName("stepM");
      for (i = 0; i < x.length; i++) {
        x[i].className = x[i].className.replace(" active", "");
      }
      //... and adds the "active" class on the current step:
      x[n].className += " active";
    }
    Merci.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    vous avez inversé le 1er test au début du code. actuellement, vous remplissez "currentTab" avec la valeur du localstorage si elle est "null".

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2021
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Fichier MAJ est résolu !

    Il fallait juste ajouter + devant localstorage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 06/06/2010, 16h35
  2. Réponses: 4
    Dernier message: 18/05/2006, 09h20
  3. comment utiliser Notepad pour modifier un fichier texte?
    Par moon13_698 dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 06/05/2006, 15h41
  4. Réponses: 2
    Dernier message: 27/04/2006, 16h45
  5. [Struts]comment faites-vous pour enregistrer..
    Par pouss dans le forum Struts 1
    Réponses: 7
    Dernier message: 30/09/2005, 12h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo