Je planche depuis ce matin sur ce probl�me : sous Firefox (pas test� sous Op�ra mais sous IE �a marche) mon formulaire ne prend pas en compte la valeur g�n�r�e par Ajax dans l'envoi :-(

Mon formulaire marche tr�s bien puisque IE r�cup�re bien tout en $_POST, mais pas moyen de travailler avec la valeur g�n�r�e par Ajax, et c'est bien s�r d'elle dont j'ai besoin.

En fait je fais saisir un code postal et g�n�re une liste d�roulante des villes correspondante via Ajax. Dans ce select je r�cup�re la valeur INSEE de la ville selected, mais �a ne passe pas sous Firefox apr�s le submit !

Ma base de donn�es comporte :
- code postal
- code INSEE
- nom de la commune
- latitude
- longitude

Voici le code de mon "ajax.js" (appel� dans le <input> du code postal par un "onChange=go_ville()", lui-m�me dans un div dont l'id est b�tement "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
var xhr = null; 
 
function getXhr(){
	if(window.XMLHttpRequest)				// Firefox et autres
	   xhr = new XMLHttpRequest(); 
	else if(window.ActiveXObject){			// Internet Explorer 
	   try {
                xhr = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                xhr = new ActiveXObject("Microsoft.XMLHTTP");
            }
	}
	else {									// XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr = false; 
	} 
       return xhr;
}
 
function go_ville(){
	var xhr = getXhr();
	xhr.onreadystatechange = function(){
		if(xhr.readyState == 4 && xhr.status == 200){
			document.getElementById('ajax').innerHTML = xhr.responseText;
		}
	}
 
	xhr.open("POST","communes.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	idcp = document.getElementById('cp').value;
	xhr.send("cp="+idcp);
}
Et voici le code de ma page "commune.php" appel�e par l'Ajax, dans lequel on trouve la requ�te et l'affichage de la liste d�roulante :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
<?
echo "<select name=\"ville\" class=\"champ\" style=\"width:145px;color:black\">\n";
if ($_POST[cp]){
include("connex.php");
$res=mysql_query("SELECT insee,commune FROM communes WHERE code='$_POST[cp]' ORDER BY commune");
while($row=mysql_fetch_row($res)) {
echo "<option value=\"$row[0]\">".stripslashes(utf8_encode($row[1]))."</option>\n";
}}
echo "</select>\n";
?>
HELP !!!!

NB : mon site en cours de d�veloppement se trouve � l'adresse www.lokalokaz.fr