script visible ici : http://www.staracademy7.fr/zespace/jeu/Carte/
problème : quand on clique sur une navette cela refresh à droite et affiche la position ainsi que l'id de la navette. (quand on onmouseover sur les navette on peu y avoir l'ID a la fin de l'alt (ici 24 et 32)).
le formulaire (la navette est un bouton de formulaire) :
le script ajax :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <FORM name="ajax" method="POST" action="javascript:submitForm()" class="FORM"> <div align="center"><input name="upgrade22" ONCLICK="submitForm()" type="image" src="images/navettes/vm'.$infocarte->ally_joueur.'.gif" width="20" height="20" border="0" title="Navette '.$infocarte->nom_objet.' ('.$infocarte->nom_proprio.')'.$infocarte->id_objet.'" width="230" height="40" /> <input name="idp" type="hidden" id="idp" value="navette-'.$infocarte->id_objet.'-'.$secteur.'-'.$cadran.'-'.$h.'-'.$v.'"> </div> </form>
info_planete.php
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
48 <script language="JavaScript"> function submitForm() { var req = null; document.getElementById("zone").innerHTML = "Started..."; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); if (req.overrideMimeType) { req.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } req.onreadystatechange = function() { document.getElementById("zone").innerHTML = "Wait server..."; if(req.readyState == 4) { if(req.status == 200) { document.getElementById("zone").innerHTML = "" + req.responseText; } else { document.getElementById("zone").innerHTML="Error: returned status code " + req.status + " " + req.statusText; } } }; req.open("POST", "ajax/infos_planete.php?idp="+document.getElementById('idp').value, true); req.send(null); } </script>
le problème est que le javascript scan la page et recupere le premier $idp qu'il trouve ! on peut donc cliquer sur n'importe quelle navette cela affichera toujours les informations de la première affichée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $idp = explode("-", $idp); echo ('type objet : '.$idp[0].''); echo ('id_objet : '.$idp[1].''); echo ('secteur : '.$idp[2].''); echo ('cadran : '.$idp[3].''); echo ('x :'.$idp[4].''); echo ('y :'.$idp[5].'');
comment puis je faire pour qu'il prenne le $idp a partir du formulaire d'ou vient le click ?
merci
Partager