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) :

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>
le script ajax :

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>
info_planete.php

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].'');
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.

comment puis je faire pour qu'il prenne le $idp a partir du formulaire d'ou vient le click ?

merci