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 :

Conserver les attributs après rechargement


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Informaticien versatile
    Inscrit en
    Mars 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien versatile

    Informations forums :
    Inscription : Mars 2015
    Messages : 31
    Points : 28
    Points
    28
    Par défaut Conserver les attributs après rechargement
    Bonjour,

    J'ai écris le code suivant afin qu'à l'appui d'un bouton ayant comme classe summary-button j'affiche tout éléments qui ont le même ID que lui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $('.summary-button').click(function() 
    {	
    	var id = $(this).attr('id');
    	$('.'+id).slideToggle("fast");
    	this.setAttribute("name","active_toggle");
    });
    Comme vous pouvez le voir j'ajoute l'attribut name active_toggle afin de pouvoir le redéployer même après un reload de la page (en l’occurrence l'envoi d'un formulaire).

    Mon problème est le suivant, quand je reload la page mon bouton perd son attribut "name". Est-ce normal ? Il y a-t-il un moyen de mieux faire ça ?


    De plus deux questions me turlupinent :

    • Comment gérer le fait qu'il n'y peut il y avoir qu'un active_toggle à la fois ?
    • Comment afficher au reload de la page mon ancien toggle ? Directement après mon $(document).ready(function() ?

  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 640
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Javasrcipt ne survit pas à un rechargement de page
    Les modifications faites au DOM non plus...

    Tu peux en revanche conserver les données de l'utilisateur soit coté serveur, soit éventuellement coté client avec les cookies ou le localStorage...
    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
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par Eric5031 Voir le message
    Bonjour,

    J'ai écris le code suivant afin qu'à l'appui d'un bouton ayant comme classe summary-button j'affiche tout éléments qui ont le même ID que lui :
    OOPS un ID étant unique par définition comment plusieurs éléments peuvent-ils avoirs le même ID ???

    A+JYT

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Informaticien versatile
    Inscrit en
    Mars 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien versatile

    Informations forums :
    Inscription : Mars 2015
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Pour les traiter de la même façon ? Etant donné que je ne devrais jamais les traiter individuellement

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    J'ai pas demandé POURQUOI tu mets le même ID

    j'ai dit COMMENT ils peuvent avoir le même ID

    tu peux mettre ce que tu veux dans ton code Mais un ID est toujours unique donc deux élément NE PEUVENT PAS avoir le même ID
    Conceptuellement parlant ça n'a pas de sens. Donc réfléchir à un problème en se disant je me fout du fait que les ID sont TOUJOURS uniques
    est déjà une erreur.

    Alors tu peux mettre ce que tu veux dans ton code ça ne changera pas le fait que les ID sont TOUJOURS uniques.
    si tu veux quand même mettre le même ID sur différents objets dans ton code le navigateur lui lorsqu'il vas créer ces objets il leur mettra un ID UNIQUE à chacun.


    Ce code ne peut pas être corrigé il ne contient pas spécialement d'erreurs il est tout bonnement FAUX. Il est conceptuellement faux.

    il te faut repenser à ta problématique ne pas oublier que la norme HTML reste la norme et que tu ne peux pas y déroger pour d’arranger.
    Concevoir une méthode qui répond à ta problématique tout en respectant la norme.
    lorsque cela est fais tu peux écrire ton code javascript
    A+JYT

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Informaticien versatile
    Inscrit en
    Mars 2015
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien versatile

    Informations forums :
    Inscription : Mars 2015
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Au lieu d'avoir le même ID je leurs ai attribué la même classe. Mon problème conceptuel est donc réglé !

    Du coup mon code est maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $('.summary-button').click(function() 
    {	
    	var class= $(this).attr('class');
    	$('.'+class).slideToggle("fast");
    	this.setAttribute("name","active_toggle");
    });
    Et j'en profite pour signaler que j'ai changé ma façon de procéder et au lieu de valider mon formulaire j'utilise Ajax afin de reloader seulement les élements nécessaires. Du coup ma page ne se reload plus entièrement et mon atttribut Name reste !

    Par contre je n'ai toujours pas d'idée de la façon de procéder pour ne déployer qu'une classe à la fois

  7. #7
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Que veut dire :
    Citation Envoyé par Eric5031 Voir le message
    ne déployer qu'une classe à la fois
    Je ne comprends pas
    A+JYT

  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 640
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    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 !

Discussions similaires

  1. division qui conserve les chiffres après la virgule
    Par ali.ensi dans le forum Débuter
    Réponses: 3
    Dernier message: 05/10/2007, 13h26
  2. Conserver les attributs d'affichage sur TOpenDialog
    Par Bernard Martineau dans le forum Delphi
    Réponses: 1
    Dernier message: 22/06/2007, 16h14
  3. Réponses: 6
    Dernier message: 15/01/2007, 16h05
  4. Réponses: 2
    Dernier message: 29/08/2006, 16h27
  5. Réponses: 1
    Dernier message: 28/10/2005, 09h37

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