Utilisation de la fonction document.getElementById()

Messages postés
11
Date d'inscription
lundi 24 août 2015
Dernière intervention
21 juin 2016
-
Bonjour,

je voudrais tracé plusieurs courbes sur un méme graphe en javascript et j'importe mais données de la bd via un script php et pour les passer en javascript j'ai utilisé la fonction document.getElementById():
<?php
// Fetch the data
$query = "SELECT acquisition,valeur FROM rrcval WHERE cell='eNodeB Function Name=YDE006_Biteng, Local Cell ID=2, Cell Name=YDE_11006_2, eNodeB ID=11006'" ;
@$result = mysql_query( $query );

$i=1;

while ( $row = mysql_fetch_assoc( $result ) ){

echo "<span id=\"date".$i."\">".$row['acquisition'].":00"."</span>";
echo "<span type=\"date\" id=\"valeur".$i."\">".$row['valeur']."</span>";
$i++;
if($i==500){break;}
}
$j=1;

$query1 = "SELECT acquisition,valeur FROM hanval WHERE cell='eNodeB Function Name=YDE006_Biteng, Local Cell ID=2, Cell Name=YDE_11006_2, eNodeB ID=11006'" ;
@$result1 = mysql_query( $query1 );

while ( $row1 = mysql_fetch_assoc( $result1 ) ){

echo "<span id=\"dathan".$j."\">".$row1['acquisition'].":00"."</span>";
echo "<span type=\"dathan\" id=\"valeurhan".$j."\">".$row1['valeur']."</span>";
$j++;
if($j==500){break;}
}
$k=1;

$query2 = "SELECT enregistrement,val FROM erabval WHERE cell='eNodeB Function Name=YDE006_Biteng, Local Cell ID=2, Cell Name=YDE_11006_2, eNodeB ID=11006'" ;
@$result2 = mysql_query( $query2 );


while ( $row2 = mysql_fetch_assoc( $result2 ) ){

echo "<span id=\"daterab".$k."\">".$row2['enregistrement'].":00"."</span>";
echo "<span type=\"daterab\" id=\"valeurerab".$k."\">".$row2['val']."</span>";
$k++;
if($k==500){break;}
}
?>

</div>

<?php $min=$i; if($j<$min){$min=$j;} if($k<$min){$min=$k;} echo $min;?>
<script>

var chartData = [];
var chartData1 = [];
var chartData2 = [];


generateChartData();

function generateChartData() {


for (var i = 1; i <= <?php echo $min; ?> ; i++) {
chartData.push({
date: document.getElementById('date'+i).innerHTML,
value: document.getElementById('valeur'+i).innerHTML

}) ;
chartData1.push({
date: document.getElementById('date'+i).innerHTML,
value: document.getElementById('valeurhan'+i).innerHTML

});;
chartData2.push({
date: document.getElementById('date'+i).innerHTML,
value: document.getElementById('valeurerab'+i).innerHTML

});

}
}
...

lorsque j'execute le code j'obtient l'erreur suivante:
"typeError:document.getElementById(....) is null"
aidez svp depuis hier je n'arrive pas à avancer
Afficher la suite 

Votre réponse

1 réponse

Messages postés
1663
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
3 novembre 2018
0
Merci
bonjour

apparement la fonction est lancé avant le chargement de la page donc l'element n'existe pas a ce moment il faut ajouter un evenement load

window.addEventListener("load",generateChartData,false) 

Commenter la réponse de @karamel

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.