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

Angular Discussion :

Persistance d'une valeur d'un input


Sujet :

Angular

  1. #1
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut Persistance d'une valeur d'un input
    bonjour,

    Cette fois je viens vous demander comment je pourrais faire pour conserver la valeur d'un champ saisie par l'utilisateur à travers le scénario suivant
    - 1 le user tape "toto" et valide le form
    - 2 il navigue dans l'appli ou ferme sa session
    - 3 il se connecte à nouveau et revient sur son champ, et miracle, il y a toujours écrit "toto" dedans...
    - 4 le user change d'avis et modifie le champ et tape "tata"
    - 5 répétition de 2 et 3

    Est-ce que l'objet localstorage est utilisé pour cela par exemple ?

    merci à vous

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    exactement, le localstorage est fait pour ça entre autre...

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2019
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2019
    Messages : 707
    Points : 1 030
    Points
    1 030
    Par défaut
    à savoir que chaque navigateur à son propre localstorage et ce, localement.
    donc si on sauvegarde sur chrome, on ne pourra pas récupérer sur firefox ..

    sinon faut enregistrer en base de données via une API pour que ça fonctionne de n'importe ou

  4. #4
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Ah ok, ça n'a pas l'air simple si ça diffère selon les navigateurs...Bon je verrai si j'arrive à m'en sortir. merci

  5. #5
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    Du coup j'ai fait un truc du genre mais je n'ai pas la bonne manière de faire apparement ce code ne fonctinne pas (je suis sous firefox)

    côté html :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <input pInputText type="number" formControlName="nbUserMax" [(ngModel)]="myItemUser" id="nbUserMax"/>
     <input pInputText type="number" formControlName="nbBusinessMax" [(ngModel)]="myItemBusiness" id="nbBusinessMax"/>

    côté ts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    localStorage.setItem('nbUserMax', String(result.nbUserMax));
    localStorage.setItem('nbBusinessMax', String(result.nbBusinessMax));
     
    this.myItemUser = localStorage.getItem('nbUserMax');
    this.myItemBusiness = localStorage.getItem('nbBusinessMax');

  6. #6
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    result ?
    il y a une erreur dans la console ?

    sinon:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <input pInputText type="number" formControlName="nbUserMax" [(ngModel)]="myItemUser" id="nbUserMax"/>
     <input pInputText type="number" formControlName="nbBusinessMax" [(ngModel)]="myItemBusiness" id="nbBusinessMax"/>
     
    // enleve les formControlName parceque tu n'utilises pas les form reactives
     
     <input pInputText type="number"  [(ngModel)]="myItemUser" id="nbUserMax"/>
     <input pInputText type="number" [(ngModel)]="myItemBusiness" id="nbBusinessMax"/>

  7. #7
    Membre averti
    Homme Profil pro
    Reconversion
    Inscrit en
    Novembre 2018
    Messages
    502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Reconversion
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 502
    Points : 300
    Points
    300
    Par défaut
    j'aurais dû donner la fonction complete qui traite le form une fois submit, result est l'objet créé par le form dans l'observable

    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
     
    saveOrganization() {
        const organization = this.organizationForm.value;
        this.loadingService.sendIsLoading(true);
        this.organizationService.updateOrganization(this.organization.id, this.organization.name, null, null,
          null, null, null, null, null, null,
          this.tempReportTemplateFile, organization.nbUserMax, organization.nbBusinessMax).subscribe(
          (result: OrganizationJson) => {
            this.organizationEdit.organization = result;
            this.loadingService.sendIsLoading(false);
            this.organization.reportTemplatesFile = this.tempReportTemplateFile;
     
            localStorage.setItem('nbUserMax', String(result.nbUserMax));
            localStorage.setItem('nbBusinessMax', String(result.nbBusinessMax));
     
            this.myItemUser = localStorage.getItem('nbUserMax');
            this.myItemBusiness = localStorage.getItem('nbBusinessMax');
          }, console.error);
      }

  8. #8
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    ça n'explique toujours pas la présence de 'formControlName' dans le HTML

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // enleve les formControlName parceque tu n'utilises pas les form reactives
     
     <input pInputText type="number"  [(ngModel)]="myItemUser" id="nbUserMax"/>
     <input pInputText type="number" [(ngModel)]="myItemBusiness" id="nbBusinessMax"/>



    Reactive forms
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form [formGroup]="profileForm">
        <input type="text" formControlName="firstName">
        <input type="text" formControlName="lastName">
    </form>
    ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
      profileForm = new FormGroup({
        firstName: new FormControl(''),
        lastName: new FormControl(''),
      });

Discussions similaires

  1. comment afficher une valeur d'un INPUT TEXT?
    Par john7911 dans le forum Langages serveur
    Réponses: 3
    Dernier message: 01/12/2011, 17h07
  2. [XSLT 2.0] Attribuer une valeur de type input hidden a une variable XSL ?
    Par geeku dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 10/05/2011, 13h48
  3. Récupération d'une valeur d'un input type file
    Par Bizoo dans le forum Langage
    Réponses: 4
    Dernier message: 14/03/2009, 19h46
  4. recopier une valeur dans un input
    Par jfb53 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/07/2008, 12h01
  5. [AJAX] Affichage d'une valeur d'un input
    Par Ibanks dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/01/2007, 14h45

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