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-JS] Mon include donne deux "body onload"


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut [PHP-JS] Mon include donne deux "body onload"
    Bonjour à tous, voilà mon problème.
    mon fichier "index.php" contient deux includes, à deux endroits disjoints. chacun de ses includes "menu.php" & "page1.php" par exemple, contient la balise "body onload", qui exécute un javascript.
    si je lance index.php, au chargement de la page, c'est le premier onload qui sera exécuté et pas le second (j'ai essayé le second à part, et ça marche).

    comme puis-je remédier à ça?

    merci beaucoup!

  2. #2
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Il ne peut y'avoir que un seul body dans une page HTML, ainsi une struture "classique" serais

    index.php :

    <html>
    <head>
    </head>
    <body>
    include()
    </body>
    </html>

    ton fichier include ne doit pas contenir ces balises là.

  3. #3
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    oui, je sais que normalement il ne doit y en avoir qu'un de onload.
    mais justement, là je DOIS faire deux onload.
    parce que sur ma page menu.php, j'ai un certain onload, et sur page1.php, j'en ai un autre (je reprends mes exemples d'au-dessus).

  4. #4
    Membre éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    Par défaut
    Non mais t'a pas compris ? xD c'est pas possible : Une seule balise <body>, tu ne peux pas include plusieur fichiers contenant des balises "mères"
    Si c'est du JS met le tout simplement entre les balises <script></script> dans le contenu de body et il sera tout simplement executé

  5. #5
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    ok, bon j'ai réussi à faire ce que je voulais.
    je me suis peut etre mal explrimé, je voulais dire que j'avais bien compris qu'il ne pouvait y avoir qu'un seul onload dans une balise body.
    c'est à dire qu'on peut mettre 30000 balises body dans un html, mais une seule fois l'ordre "onload" sans quoi le "onload" suivant est gentiment esquivé.

    donc, maintenant que les choses sont claires, du moins je le pense, je vous donne la solution que j'ai trouvé.

    je garde le "body onload" dans menu.php, qui se charge en premier, et dans la page page1.php, j'ai mis un "window.onload", qui est exactement la meme chose, si ce n'est qu'il n'est pas inclus dans la balise body.

    je savais bien que c'était possible, sinon ça remettait en cause pas mal de choses dans les includes et il aurait fallu travailler avec des iframes.


    je répète donc ma solution:

    "<body onload='x')" => "window.onload('x')"

  6. #6
    Membre régulier Avatar de DJ Caësar 9114
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 134
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par |PaRa-BoL
    Si c'est du JS met le tout simplement entre les balises <script></script> dans le contenu de body et il sera tout simplement executé
    c'est du JS, et ça ça marche pas (c'est une des premières solutions que j'ai essayées.
    mais merci quand meme

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/03/2012, 14h29
  2. Réponses: 7
    Dernier message: 21/05/2007, 16h25
  3. [PHP-JS] Envoi de données sur une même page...
    Par dudux dans le forum Langage
    Réponses: 8
    Dernier message: 14/09/2005, 13h51

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