Bonjour,
J'ai actuellement un problème avec une fonction qui marche sur plusieurs pages et qui ne fonctionne pas sur une autre (que sous IE).

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
 
function getXhr(){
	var xhr = null; 
	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... Utilisez une version plus récente."); 
		xhr = false; 
	} 
	return xhr;
	}
 
function go(param){
	var xhr = getXhr();
	var sel = document.getElementById(param);
	// On défini ce qu'on va faire quand on aura la réponse
	xhr.onreadystatechange = function(){
		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
		if(xhr.readyState == 4 && xhr.status == 200){
			leselect = xhr.responseText;
			// On se sert de innerHTML pour rajouter les options a la liste
			if (param == 'region_select'){
				document.getElementById('div_centre').innerHTML = leselect;
			}
			else if(param == 'groupe_select'){
				document.getElementById('div_centre').innerHTML = "";
				document.getElementById('div_region').innerHTML = leselect;
			}
		}
	}
 
	// Ici on va voir comment faire du post
	xhr.open("POST","ajaxRegion.php",true);
	// ne pas oublier ça pour le post
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	// ne pas oublier de poster les arguments
	// ici, le groupe
	if (param == 'region_select'){
 
		var postgroup = document.getElementById('groupe_select');
		region = sel.options[sel.selectedIndex].value;
		groupe = postgroup.options[postgroup.selectedIndex].value;
		xhr.send("region="+region+"&postgroup="+groupe);
	}
	else if(param == 'groupe_select'){
		groupe = sel.options[sel.selectedIndex].value;
		xhr.send("groupe="+groupe);
	}
 
}
Lorsque je change la valeur de ma lisbox, IE m'affiche un message d'erreur : "Cet objet ne gère pas cette propriété ou cette méthode" en pointant cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
xhr.send("groupe="+groupe);
Je tiens à preciser que xhr.readyState n'atteint jamais 4.

Pour info la page html :

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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
	<title>Test</title>
	<link href="style_sans_login.css" rel="stylesheet" type="text/css" />
	<script language="Javascript" src="script.js"></script>
</head>
<body>
<div id="content">
	<div id="main">
		<div class="post">
			<div>
				<div style="float : left;">
				<br/><br/><table class="table_no_brodure">
				<tr>
					<td class="table_no_brodure">Groupe : </td>
					<td class="table_no_brodure">
						<select name="groupe" id="groupe_select" onChange="go('groupe_select');">
						<option value="">Aucun</option>
 
						<option value="1">1</option><option value="2">2</option>						</select>
					</td>
				</tr>
				<tr>
					<td class="table_no_brodure">R&eacute;gion :</td>
					<td class="table_no_brodure">
						<div id="div_region">
						</div>
					</td>
				</tr>
				<tr>
					<td class="table_no_brodure">Centre : </td>
					<td class="table_no_brodure">
						<div id="div_centre">
						</div>
					</td>
				</tr>
					</table>
					<br/><br/><br/><a href="ajout_modif.php">Retour</a><br/><br/>
										<br/><br/><br/><br/>
 
				</div>
 
			</div>
		</div>
	</div>
</div>
<div id="footer"></div>
</body>
</html>
Comme la fonction marche impeccablement sur d'autres pages, je ne pense pas que le problème vienne de là ...

Merci d'avance de m'éclairer.