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 :

Html et onLoad()


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Html et onLoad()
    Bonjour,


    j'ai un soucis avec mon script javascript et ma page html.

    Je voudrais incorporer dans ma page html un graphique généré par du javascript. Celui ci récupère des variables php générées par une base de donnée. Le graphique marche niquel, les valeurs sont bonnes etc.
    Le problème c'est que ce graphique s'affiche "tout seul" sur la page, le code html disparait complétement. Est-il en dessous, aucune idée. Ce qui est sûr c'est que le clic droit - afficher le code source de la page révèle bel et bien mon menu en html, bien qu'il ne s'affiche pas.
    Sachant que lorsque, avec firebug, je fais inspecter un élément où que ce soit sur la page, celui ci ne me montre que le code généré par le javascript, j'y comprends rien !


    Quelques bouts de code pour illustrer un peu tout ç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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <!DOCTYPE html>
    <html>
    <head><title>Graphique</title>
    <SCRIPT LANGUAGE="JavaScript1.2" SRC="lib/graph.js"></SCRIPT>
    <link rel="stylesheet" type="text/css" href="PageProf.css" media="screen" title="bbxcss" />
    </head>
     
     
    <?php 
     
    ... Ici je récupère des données dans une bdd
     
    echo '<body onload=histoS3("'.$nbP11.'","'.$nbP21.'","'.$nbP31.'","'.$nbAucunChoix.'")>';//Ici j'envoie les variables php à la fonction javascript ci dessous
    	echo '<div id="menu">
            ... Affichage du menu
            </div>';
     
    ?>
     
    <script type="text/javascript">
     
    function histoS3(nbP11,nbP21,nbP31,nbAucunChoix) //fonction chargée de construire le graph
    {
    var i = new Graph(200,200);
    i.title = "Choix de Parcours";
    i.yLabel = "Effectif";
    i.xLabel = "Parcours";
    i.scale = 1;
    i.relative = false;
    i.setLegend("Choix 3","Choix 2","Choix 1","Sans choix");
    i.addRow(nbP11,0,0,0);
    i.addRow(0,nbP21,0,0);
    i.addRow(0,0,nbP31,0);
    i.addRow(0,0,0,nbAucunChoix);
    i.build();
     
    }
     
     
     
     
    </SCRIPT>
     
    </body> 
     
    </html>


    Le résultat étant que ma div id="menu" contenant le menu disparait, seulement le graphique s'affiche sur fond blanc.

    Quelqu'un a une idée ?

    Merci d'avance

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 327
    Points : 204
    Points
    204
    Par défaut
    Il y a peut etre un problème de dimension et un truc sur vu que tu appelle une fonction quand le body est chargé et bien ton echo etant générer par le serveur donc avant ton graphique l'écrase !
    affiche ton menu aussi dans ta fonction c'est généré si à la volé par php utilise ajax donc mais
    ce que je fais moi sur une page php (ou ta page ou s'affiche tout)ton menu en json
    et tu encapsule ton tableau json ou alors une simple chaine de caractere qui est ton menu html et tes données dans un objet javascript ou une simple fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type="text/javascript">
    function ApiData(){
     
    var dataObj=eval(<?php echo $monMenu ; ?>);	
    this.getApiData=function(){
     
     
    return dataObj;
     
    }
     
    }
    et tu inclu ton fichier php via une include
    et dans ta fonction histoS3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    var oData =new ApiData():
    var menuSrc=oData.getApiData();
    via innerHTML ou le dom appendChild tu insere ton menu (menuSrc) à la suite de ton graphe là il doit se faire ecraser ou possionne tout en absulute
    ou mets simplement ton div menu dessous ton graphe...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci pour ces solutions je vais essayer

    En tout cas j'ai compris d'où venait le problème ! Thank's

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

Discussions similaires

  1. Algorithme de conversion de RTF vers HTML
    Par youtch dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 10/09/2002, 12h35
  2. Balises HTML dans un fichier XML
    Par Bastet79 dans le forum XML/XSL et SOAP
    Réponses: 12
    Dernier message: 04/09/2002, 15h29
  3. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35
  4. delphi XML / HTML caractéres speciaux !
    Par adem dans le forum EDI
    Réponses: 2
    Dernier message: 29/08/2002, 17h48
  5. [XSLT] inclure du XSL dans une balise html
    Par iaa dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 05/08/2002, 15h57

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