Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2011, 12h16   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 6
Points : 2
Points : 2
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 :
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
OneAgain95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 14h27   #2
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
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 :
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 :
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...
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 14h44   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 6
Points : 2
Points : 2
Merci pour ces solutions je vais essayer

En tout cas j'ai compris d'où venait le problème ! Thank's
OneAgain95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h39.


 
 
 
 
Partenaires

Hébergement Web