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 :

Fonction onLoad dans un .js


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut Fonction onLoad dans un .js
    Bonjour à tous

    Alors voilà ma question :

    J'ai, pour un fomulaire, une fonction onLoad sur ma balise <body>.
    Est-il possible de placer ce onLoad dans un fichier de type .js car je fonctionne avec des include en PHP et ma balise <body> est comprise dans un des fichier .php mais pour ma page de contact, j'ai besoin de ce onLoad.

    Le voilà si besoin est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <body onload="<?php if (isset($_POST['geneg'])) {echo "";}else{ echo "toggle('gene');";}
    	 if (isset($_POST['paog'])) {echo "";}else{ echo "toggle('pao');";}
    	 if (isset($_POST['webg'])) {echo "";}else{ echo "toggle('web');";}
    	 if (isset($_POST['photog'])) {echo "";}else{ echo "toggle('photo');";}
    	 if (isset($_POST['cgmess'])) {echo "";}else{ echo "toggle('mess1');";}
    	 if (isset($_POST['paomess'])) {echo "";}else{ echo "toggle('mess2');";}
    	 if (isset($_POST['webmess'])) {echo "";}else{ echo "toggle('mess3');";}
    	 if (isset($_POST['photomess'])) {echo "";}else{ echo "toggle('mess4');";}?>">
    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Salut, je pense qu'il serait mieux, et plus lisible de sortir le javascript de ta page html, et de génerer un fichier js coté serveur

  3. #3
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Heu c'est pas ma question ?
    Ou alors j'ai pas compris ce que tu me propose...

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    336
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 336
    Points : 374
    Points
    374
    Par défaut
    Outps, il manque un bout

    Tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    window.onload = function() {
    //statements
    }
    Tu mets le js qui doit être executé dans la fonction, et il te suffira d'appeler ton fichier js au besoin dans le head.

    Et sinon tu peux simplifier la partie php en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_POST['paog'])) echo "toggle('pao');";

  5. #5
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Y a un truc que j'ai du mal faire
    Dans mon head :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src="js/onload.js" type="text/javascript"></script>
    le onload.js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    window.onload = function() {
    <?php if (!isset($_POST['geneg'])) echo "toggle('gene');";
              if (!isset($_POST['paog'])) echo "toggle('pao');";
              if (!isset($_POST['webg'])) echo "toggle('web');";
              if (!isset($_POST['photog'])) echo "toggle('photo');";
              if (!isset($_POST['cgmess'])) echo "toggle('mess1');";
              if (!isset($_POST['paomess'])) echo "toggle('mess2');";
              if (!isset($_POST['webmess'])) echo "toggle('mess3');";
              if (!isset($_POST['photomess'])) echo "toggle('mess4');";
    ?>
    }
    Ben ça marche pas...

    Quand je mets ceci dans le head entre <script> et </script>, la part contre ça marche

    Et merci pour le raccourcis PHP

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ca ne fonctionne pas pour deux raisons :

    1. Ton fichier est en .js donc n'interprète pas le PHP.
    2. Tes valeurs POST ne valent rien dans le fichier externe.

  7. #7
    Membre confirmé Avatar de Strix
    Inscrit en
    Novembre 2006
    Messages
    632
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 632
    Points : 607
    Points
    607
    Par défaut
    Ok... Bon vu dans quoi je m'engage, je vais faire en sorte de pouvoir modifier le body.

    Merci à vous

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

Discussions similaires

  1. fonction onload dans table ou div
    Par diengkals dans le forum APIs Google
    Réponses: 5
    Dernier message: 13/02/2013, 18h43
  2. Réponses: 1
    Dernier message: 18/10/2011, 20h27
  3. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  4. Réponses: 7
    Dernier message: 24/05/2003, 15h56
  5. [VBA-E] Fonction sum() dans une cellule
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/12/2002, 10h18

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