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

Langage PHP Discussion :

PHP + Javascript (showHide d'une div)


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut PHP + Javascript (showHide d'une div)
    Bonjour,

    je rencontre quelques soucis pour afficher et masquer mes div. J'ai trouvé aucun post pour le problème que je rencontre. Je vous explique

    Mon code javascript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function showHide(divId)
    {
        if (document.getElementById(divId).style.display=="none")) {
            document.getElementById(divId).style.display="inline";
        }
        else {
            document.getElementById(divId).style.display="none";
        }
    }
    Mon code PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for($i=0; $i<10; $i++) {
        echo '<button type="button" onclick="showHide('maDiv')">bouton</button>';
         echo '<div id="maDiv">Mon text</div>';
    }
    et mon css
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #maDiv { display: none;}
    Le problème avec ce code est qu'il prend pas en compte les différents bouton et différente div. Typiquement, quand je vais cliquer sur un des bouton (différent du 1er), il va m'afficher la div du 1er.

    Ce qu'il faudrait, c'est attribuer à chaques div dans la boucle, un id différent mais je ne vois pas trop comment m'y prendre

    Je sais pas si jsuis assez clair :s

    Merci d'avance pour votre aide

  2. #2
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2007
    Messages : 469
    Points : 525
    Points
    525
    Par défaut
    Fais déjà attention à tes quotes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0; $i<10; $i++) {
        echo '<button type="button" onclick="showHide(\'maDiv\')">bouton</button>';
         echo '<div id="maDiv">Mon text</div>';
    }
    Et après nommer les DIV en fonction de ton compteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for($i=0; $i<10; $i++) {
        echo '<button type="button" onclick="showHide(\'maDiv['.$i.']\')">bouton</button>';
         echo '<div id="maDiv['.$i.']">Mon text</div>';
    }
    Pour le JS/CSS je passe mon tour

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Oui je sais, faut pas faire attention au quotes, c'est juste vous donner une idée du fonctionnement, merci quand meme

    C'est ce que jcomptais faire coté php mais coté js et css je bloque un peu.

    Déjà comment dire dans le css de cacher toutes les div surtout si j'ai une boucle à 10 000 occurences

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Avec le code php que tu génères les div, tu auras un id qui se répète. Un id doit être unique dans un document. Crées une nouvelle discussion sur le forum javascript en postant le code HTML généré mais pas le code PHP. Tu auras plus de chance.

    A+.

  5. #5
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Points : 275
    Points
    275
    Par défaut
    Citation Envoyé par Arkoze Voir le message
    Oui je sais, faut pas faire attention au quotes, c'est juste vous donner une idée du fonctionnement, merci quand meme

    C'est ce que jcomptais faire coté php mais coté js et css je bloque un peu.

    Déjà comment dire dans le css de cacher toutes les div surtout si j'ai une boucle à 10 000 occurences
    déjà ton navigateur risque de pas trop aimer si tu affiche 10000 objects c'est pas vraiment fait pour sinon pour répondre à la question qui n'est pas du php mais du css et du javascript utilise les classes pour les styles et voit du coté des sibbling en javascript surtout si ton noeud bouton suis le noeud div.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    Avec le code php que tu génères les div, tu auras un id qui se répète. Un id doit être unique dans un document. Crées une nouvelle discussion sur le forum javascript en postant le code HTML généré mais pas le code PHP. Tu auras plus de chance.

    A+.
    mais le problème c'est que jsuis obligé de généner plusieurs div via une boucle. J'avais pensé à mettre en id de la div, un id qui serait la concateination d'un nom+id (de la boucle for).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Je viens de trouver la solution

    J'ai juste rajouter une class à ma div en plus d'un id qui est unique grâce à la concateination avec l'id de la boucle.

    Merci pour votre aide

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 25/11/2011, 14h15
  2. Php et xml dans une div
    Par eiffel74 dans le forum Langage
    Réponses: 4
    Dernier message: 23/09/2009, 19h32
  3. syntaxe PHP/Javascript/Html sur une balise Select.
    Par jep33 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 31/10/2008, 08h22
  4. PHP/Javascript : Rafraichissement d'une page
    Par trihanhcie dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 21/07/2006, 14h44
  5. [PHP-JS] comment lancer une fonction javascript a partir de php
    Par amika dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/06/2005, 19h23

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