GetElementById("cordx"+i)

marjal_ -  
 marjal_ -
Bonjour,

Voilà, mon problème :

j'utilise php pour faire une requête sur une base de données

<?php
include('connexion.php');
$repPoint= mysql_query(SELECT * FROM topo);
$j=0
while($Point=mysql_fetch_object($repPoint))(
$j=$j+1
echo "<input type=hidden id=coord$j value=$Point->Coordx>";
)
?>

Puis, j'aimerais utiliser cette donnée pour l'afficher sur une carte openlayers (jvascript).
Pour cela, j'essaie:

<script>
...
for (i=0;i<20;i++)(
var coordx=document.getElementById("coordx"+i)
)
...
</script>

Je pense que c'est la syntaxe dans le getElementById qui n'est pas bonne... Comment puis-je faire??
Merci d'avance
A voir également:

5 réponses

PhP Messages postés 1774 Statut Membre 606
 
Bjr

A la place de :-(

echo "<input type=hidden id=coord$j value=$Point->Coordx>";

je mettrais plutôt ;-)

printf("<input type=\"hidden\" id=\"coordx%s\" value=\"%s\">\n", $j, $Point->Coordx);

0
marjal_
 
G essayé:
<?php
include('connexion.php');
$repPoint= mysql_query(SELECT * FROM topo);
$j=0
while($Point=mysql_fetch_object($repPoint))(
$j=$j+1
printf("<input type=\"hidden\" id=\"coordx%s\" value=\"%s\">\n", $j, $Point->Coordx);

)
?>

<script>
...
for (i=0;i<20;i++)(
var coordx=document.getElementById("coordx"+i)
)
...
</script>

mais ça ne marche toujours pas...
De plus, si j'affiche le input en mettant text au lieu de hissn, la valeur des champs correspond en fait à leur nom et pas à leurs valeurs...
Merci..
0
PhP Messages postés 1774 Statut Membre 606
 
mais ça ne marche toujours pas...

C'est-à-dire ? Ca fait quoi exactement ?

la valeur des champs correspond en fait à leur nom et pas à leurs valeurs...

C'est donc que dans $Point->Coordx tu as un nom et pas une valeur ...

Dans ta table topo c'est bon ?
0
marjal_
 
Mon champ $Point->Coordx renvoie bien une valeur (les coordonnées horizontales du point) puisque quand je fais un echo dessus, j'obitent bien des valeurs

Ce qui ne marche pas c'est que lorsque je me sers de coordx, le programme cherche un id égal à coordx et par du tye coordx12...
Donc, je ne peux pas me servir de cet élément qui n'existe pas...
0
PhP Messages postés 1774 Statut Membre 606
 
Normalement

for (i=0;i<20;i++)
{
var coordx=document.getElementById("coordx"+i);
}

fonctionne sauf que dans coordx ici tu récupères une référence sur l'élément <input ...> et pas sa valeur !


Si tu veux sa valeur écrit

var coordx=document.getElementById("coordx"+i).value;

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
marjal_
 
Oups...
En fait s'était un truc tout bête,
ma deuxième boucle commencait à zéro mais coordx0 n'existe pas.. Ce qui fait que les autres n'étaient pas afficher non plus...
Il fallait en fait écrire :

<?php
include('connexion.php');
$repPoint= mysql_query(SELECT * FROM topo);
$j=0
while($Point=mysql_fetch_object($repPoint))(
$j=$j+1
echo "<input type=hidden id=coord$j value=$Point->Coordx>";
)
?>

Puis, j'aimerais utiliser cette donnée pour l'afficher sur une carte openlayers (jvascript).
Pour cela, j'essaie:

<script>
...
for (i=1;i<20;i++)(
var coordx=document.getElementById("coordx"+i)
)
...
</script>

Merci encore de votre aide,

Bonne journée!!
0