Bonjour,

Je suis débutante en ajax et j'ai réalisé une petite fonction
pour me familiariser avec celui-ci mais ça ne marche pas :

En fait, j'aimerai tout simplement afficher une localité en fonction
d'un code postal entré.

Voici mon code avec la fonction js:
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
 
<html>
<head>
<script type='text/javascript'>
 
function tmt(){
 
var xhr = getXhr();
xhr.open("POST","tmt.php",true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 
    xhr.onreadystatechange = function()
   {
 
	if(xhr.readyState == 4)
	{
        	reponse = xhr.responseText;
		//window.alert(reponse);
 
        	if (reponse != "")
	       {
		 document.getElementById('localite').innerHTML = reponse;
		 document.getElementById('localite').visibility = "visible";
	      }
	      else
		 window.alert("erreur");
 
	}
 
   }
cp = document.getElementById('cp').value;
xhr.send("cp="+cp);
}
</script>
</head>
 
<body>
	<fieldset style="width: 500px">
	 <form>
             CP:  <input type="text" id="cp">
	            <input type="submit" onClick="tmt();">
		    <input type="text" id="localite" style="visibility:hidden ">
	</form>
	</fieldset>
 
</body>
</html>

et voici le code 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
 
<?php
include ('Connect2.php');
 
if (isset ($_POST["cp"])
{  
   $cp = $_POST["cp"];
   $query = "select nom_loc from localite where cp = ".$cp."";
   $result =  mysql_query($query)or die("Erreur query: \n". mysql_error());
 
   if($val = mysql_fetch_array($result))
   {
		echo $val[0];;
	}
	else
	   echo "erreur requete";
}
?>
Le problème c'est que ma variable reponse reste vide et il m'affiche donc le message "erreur" et je n'arrive vraiment pas à comprendre pourquoi.

Merci d'avance pour votre aide.