Bonjour à tous! J'espère que vous arriverez à résoudre mon problème

J'ai créer un formulaire html ou il y a un champ texte et un menu déroulant. Le champ texte est consacrer au code postal et le menu déroulant au ville.

Mon traitement ajax consiste à modifier le menu déroulant à chaque modification du code postal. Sous FF tout fonctionne parfaitement mais sous IE il ne lance mon traitement qu'une fois et si je resaisi un caractere suplémentaire pour le code postal rien ne se déclenche.
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
/////////////////////////////////////////////////////////////////////////////////////////
// FONCTION QUI PERMET DE METTRE A JOUR LA LISTE DES VILLES EN FONCTION DU CODE POSTAL //
/////////////////////////////////////////////////////////////////////////////////////////
 
//objet_code_postal = OBJET XMLHttpRequest QUI RECHERCHE LES VILLES EN RELATION AVEC CE CODE POSTAL 
var objet_code_postal;
 
//CREATION D'UN OBJET XMLHttpRequest SELON LE TYPE D'OBJET SUPPORTE PAR LE NAVIGATEUR
try
{
	objet_code_postal = new XMLHttpRequest();
}
catch(e)
{
	try 
	{
		objet_code_postal = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) 
	{
		objet_code_postal = new ActiveXObject("Microsoft.XMLHTTP");
	}
}
 
//ON AFFECTE AU CHANGEMENT DE STATUT DE L'OBJET XMLHttpRequest LA FONCTION QUI VA MODIFIER LA LISTE DES CODES POSTAUX ET DES RUES SI N'ECESSAIRE
objet_code_postal.onreadystatechange = function()
{
	//ON VERIFIE SI LA TRANSACTION EST FINI
	if(objet_code_postal.readyState == 4)
	{
		//ON VERIFIE SI LE TRAITEMENT S'EST BIEN DEROULE
		if(objet_code_postal.status == "200")
		{
			//ON EVALUE LE CODE RETOURNER PAR LA PAGE PHP
			eval(objet_code_postal.responseText);
		}
	}
}
 
function code_postal(code_postal)
{		
	//ON VERIFIE SI L'OBJET XMLHttpRequest EXISTE
	if(objet_code_postal != null)
	{
		//ON ANNULE LA TRANSACTION EN COURS
		objet_code_postal.abort();	
	}
 
	//ON VERIFIE SI L'UTILISATEUR A SAISI EU MOINS 3 CARACETERE
	if(code_postal.value.length >= 2)
	{
		//ville_select = MENU DEROULANT DES VILLES
		var ville_select = document.form_victime.elements['ville_victime_select'];
 
		//ON SPECIFIE LE FICHIER QUI VA ETRE UTILISE LORS DE L'ENVOIE DES DONNEES
		objet_code_postal.open('POST', '../fonction/ajax/code_postal.php', true);
 
		//ON SPECIFIE LE TYPE DE DONNEES QUI VA ETRE ENVOYE
		objet_code_postal.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
 
		//donnees = INFORMATION QUI VONT ETRE TRANSMISE A LA PAGE
		var donnees = 'code_postal='+code_postal.value;
 
		//ENVOIE DES DONNEES VERS LA PAGE PHP QUI VA TRAITE LES DONNEES
		objet_code_postal.send(donnees);
	}
	else
	{
		//ville_select = MENU DEROULANT DES VILLES
		var ville_select = document.form_victime.elements['ville_victime_select'];
 
		//ON VIDE LE MENU DEROULANT DES VILLES
		ville_select.options.length = 0;	
 
		//ON AJOUTE LA VALEUR NULL AU MENU DEROULANT
		ville_select.options[0] = new Option("", "NULL");
	}
}