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

jQuery Discussion :

Réafficher la date d'un datePicker apres une actualisation


Sujet :

jQuery

  1. #1
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut Réafficher la date d'un datePicker apres une actualisation
    Bonjour à tous,

    je cherche le moyen de ré-afficher la valeur de sélection d'un datePicker après avoir fait une actualisation de la page.
    J'ai essayé ce code.mais cela ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    day = "";
    vardateInput = document.querySelector('[name="oneDate"]');
    dateInput.addEventListener("input", function (event) {
    day = $("#getPickerDate").val();
     
    window.location.href = window.location.href;
     
    $("#getPickerDate")
          .datepicker()
          .on("show", function () {
    $(this).val(day).datepicker("update");
          });
      });
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Il faut stocker la valeur quelque part ?
    Est elle sur ton serveur ?
    Sinon tu devras avant le rechargement de la page la stocker en cookie ou local storage (avec les contraintes GRPD associées)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    Merci SpaceFrog,

    Non elle n'est pas sur mon serveur, c'est le client qui la saisie.

    La stocker dans une simple variable, ne suffit pas?
    Il faut passer obligatoirement par un cookie ou par un local storage?

    Si c'est le cas je vais devoir me documenter, car je n'en ai jamais utilisé jusque là.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Js ne survit pas à un rechargement de page
    Si tu le mets juste dans une variable, elle sera vide au rechargement de page, d'où la nécessité de passer par des cookies ou du local storage qui eux survient au rechargement de page, mais sont soumis à l'acceptation de l'utilisateur (GRPD)
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    Merci pour le complément d'info,

    Je viens d'essayer d'utiliser le local storage, et j'ai codé ça:

    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
    var dateInput = document.querySelector('[name="oneDate"]');
     
      dateInput.addEventListener("input", function (event) {
     
     
        localStorage.setItem("day", $("#getPickerDate").val());
     
     
        window.location.reload(true);
     
     
        day = localStorage.getItem("day");
        alert(day);
     
        $("#getPickerDate")
     
          .datepicker()
     
          .on("show", function () {
            $(this).val(day).datepicker("update");
          });
     
      });
    J'ai testé et j'initialise bien ma variable dans le local storage, elle est bien présente avant l'actualisation, mais plus après.
    Pouvez vous me dire ce qui cloche, car apparemment c'est pas très compliqué a utiliser.

  6. #6
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    J'ai pas testé sur différents navigateurs, mais ce code à l'air de fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var dateInput = document.querySelector('[name="oneDate"]');
      dateInput.addEventListener("input", function (event) {
        var day = $("#getPickerDate").val();
     
        history.go();
     
        $("#getPickerDate")
          .datepicker()
          .on("show", function () {
            $(this).val(day).datepicker("update");
          });
      });
    Si vous avez une remarque n’hésitez surtout pas.

    Bon mais après test sur Chrome, ça ne fonctionne pas donc retour à la case départ(on m'avait prévenu pourtant!!!)

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    sur le onload de ta page tu dois vérifier si la donnée existe en cookie ou en storage et l'affecter à ton datepicker ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Une autre possibilité serait de faire un ajax sur le change du datepicker qui conserve la date dans une variable de session coté serveur ...
    Il te suffirait alors d'attribuer la valuer de la variable de session à ton datepicker coté serveur
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    sur le onload de ta page tu dois vérifier si la donnée existe en cookie ou en storage et l'affecter à ton datepicker ...
    Merci de ton retour SpaceFrog,

    Mais n'étant pas un pro comment vérifie t'on sur le onload?

    J'ai tenter quelque chose dans le genre en localStorage et sessionStorage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for (let i = 0; i < sessionStorage.length; i++) {
      let key = localStorage.key(i);
      alert(`${key}: ${sessionStorage.getItem(key)}`);
    }
    Mais je n'ai pas vu ma variable défiler.

    Sinon mon picker me sert a actualiser un graphe créer avec Chart.js, n'y a t'il pas un moyen de ne rafraichir que le graphe sans rafraichir toute la page?

  10. #10
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 176
    Points
    17 176
    Par défaut
    Salut

    Un moyen de récupération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    let VarRcupe =localStorage.getItem('NomDeTaVariable')
    if(!VarRcupe){
    	alert("VarRcupe = " + VarRcupe)
    }else{
    	alert("Pas de variable en localStorage")
    }
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    Merci ProgElect,

    J'ai donc testé avec ce code:

    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
    let VarRcupe = localStorage.getItem("getDay");
    if (!VarRcupe) {
      alert("VarRcupe = " + VarRcupe);
    } else {
      alert("Pas de variable en localStorage");
    }
    day = "";
    document.addEventListener("DOMContentLoaded", function () {
      var dateInput = document.querySelector('[name="oneDate"]');
      dateInput.addEventListener("input", function (event) {
        day = $("#getPickerDate").val();
        localStorage.setItem("getDay", day);
     
        history.go();
        day = localStorage.getItem("getDay");
        alert(day);
        $("#getPickerDate").val(day);
      });
    Et aucune variable localStorage n'est enregistré, d’ailleurs même la fin de la function (event), n'est pas exécuté.
    Après "history.go();" on sort de la function (event).
    Dans le code si dessus "alert(day);" n'est jamais exécuté.

  12. #12
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 176
    Points
    17 176
    Par défaut
    Re

    Insérez un alert("coucou"); en ligne 13, et regardez dans la console (shift + F9 sous FF) et vérifier le Stockage local, la date devrait y être inscrit pour key="getDay".
    Si cela n'est pas le cas et/ou si l'alerte n'est pas déclenchée, il faut revoir le déclencheur dateInput.addEventListener("input", function (event) ......
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    Oui ma date est bien dans la console dans stockage local.

    Mais comment je peux la récupérer, car jusque là je n'ai pas réussi?

  14. #14
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 176
    Points
    17 176
    Par défaut
    Peut être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    document.addEventListener('DOMContentLoaded', function() {
    	if(localStorage.getItem('getDay')){
    		day = localStorage.getItem("getDay");
    		$("#getPickerDate").val(day);
    	}
    })
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  15. #15
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    J'ai essayé dans la function (event) et après, mais je ne récupère dans aucun des deux cas la variable:

    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
    day = "";
    document.addEventListener("DOMContentLoaded", function () {
      var dateInput = document.querySelector('[name="oneDate"]');
      dateInput.addEventListener("input", function (event) {
        day = $("#getPickerDate").val();
        localStorage.setItem("getDay", day);
        //alert("coucou");
        window.location.reload(true);
        //history.go();
      });
     
      document.addEventListener("DOMContentLoaded", function () {
        if (localStorage.getItem("getDay")) {
          day = localStorage.getItem("getDay");
          $("#getPickerDate").val(day);
        }
      });

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Il faut lancer la vérification au chargement de la page sur le onload ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  17. #17
    Membre habitué
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 482
    Points : 161
    Points
    161
    Par défaut
    Autant pour moi, j'avais mal gérer la position du code.

    Comme cela marche très:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //Changement du datePicker et actualisation de la page
    document.addEventListener("DOMContentLoaded", function () {
      var dateInput = document.querySelector('[name="oneDate"]');
      dateInput.addEventListener("input", function (event) {
        day = $("#getPickerDate").val();
        localStorage.setItem("getDay", day);
        window.location.reload(true);
      });
      //Récupération de la variable localStorage
      if (localStorage.getItem("getDay")) {
        day = localStorage.getItem("getDay");
        $("#getPickerDate").val(day);
      }
    Merci ProgElect et SpaceFrog, sans vous je n'y serais pas arrivé.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/09/2022, 10h51
  2. Réponses: 4
    Dernier message: 14/03/2007, 09h25
  3. Réponses: 5
    Dernier message: 25/01/2007, 10h53
  4. [MySQL] Afficher une date correctement après une requête
    Par Nerva dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 12/04/2006, 16h27
  5. Modification de la date d'une table possible après une MAJ?
    Par theseriallooser dans le forum InterBase
    Réponses: 1
    Dernier message: 15/02/2006, 23h03

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