Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2012, 21h36   #1
Invité de passage
 
Homme Serge
Educateur spécialisé
Inscription : janvier 2012
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Serge
Localisation : France

Informations professionnelles :
Activité : Educateur spécialisé
Secteur : Santé

Informations forums :
Inscription : janvier 2012
Messages : 21
Points : 4
Points : 4
Par défaut Listes liées et IE

Bonjour tous le monde.
J'ai des listes liées sur mon site qui fonctionnent très bien avec firefox (je remercie rawsrc au passage car il m'a bien aidé) mais qui ne fonctionnent pas du tout sur IE.
Le problème classique j'ai beau chercher sur les forums mais je ne vois rien d'anormale dans la création de mon objet XMLHttpRequest
Si quelqu'un peux m'aider à trouver une solution ce serai sympas de sa part.
Voici mon code js
Code :
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
 
<script type="application/javascript">
function getXMLHttpRequest() {
	var xhr = null;
 
	if (window.XMLHttpRequest || window.ActiveXObject) {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} else {
			xhr = new XMLHttpRequest(); 
		}
	} else {
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
 
	return xhr;
}
function refreshMarques() {
                   var listTypes = document.getElementById('types');
                   var idType = listTypes.options[listTypes.selectedIndex].value;
				   var xhr   = getXMLHttpRequest();
                   if (idType != '') {
                      callAndRefresh('marques', '<?php echo ROOTPATH; ?>/insert/refreshMarques.php', 'type='+idType);
                   }
                }
				function refreshGammes() {
					var listMarques = document.getElementById('marques');
				   	var idMarque = listMarques.options[listMarques.selectedIndex].value;
				   	var listTypes = document.getElementById('types');
				  	var idType = listTypes.options[listTypes.selectedIndex].value;
				   	if ((idMarque != '') && (idType != '')) {
					  callAndRefresh('gammes', '<?php echo ROOTPATH; ?>/insert/refreshGammes.php', 'marque='+idMarque+'&type='+idType);
				   }
				}
				function refreshImprimantes() {
					var listGammes = document.getElementById('gammes');
                   	var idGamme = listGammes.options[listGammes.selectedIndex].value;
				   	var listMarques = document.getElementById('marques');
				   	var idMarque = listMarques.options[listMarques.selectedIndex].value;
				   	var listTypes = document.getElementById('types');
				  	var idType = listTypes.options[listTypes.selectedIndex].value;
                   if ((idGamme != '') && (idMarque != '') && (idType != '')) {
                      callAndRefresh('imprimantes', '<?php echo ROOTPATH; ?>/insert/refreshImprimantes.php', 'gamme='+idGamme+'&marque='+idMarque+'&type='+idType);
                   }
                }
 
                function callAndRefresh(id, url, params) {
                   var xhr = getXMLHttpRequest();
                   xhr.onreadystatechange = function(){
                      // si on a tout reçu et que le serveur est ok
                      if(xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0))
                      {
					  	document.getElementById("loader").style.display = "none";
                         // On se sert de innerHTML pour rajouter les options a la liste des "selections"
                         document.getElementById(id).innerHTML = xhr.responseText;
                     } else if (xhr.readyState < 4) {
							document.getElementById("loader").style.display = "inline";
						}
                   }
                   // on defini la methode (post) + le fichier de traitement + asynchrone (true)
                   xhr.open("POST", url , true);
                   xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                   // on poste les parametres a transmettre au fichier qui fera le traitement
                   xhr.send(params);
                } 
                 </script>
Merci d'avance.
Sergio_zero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 08h29   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 148
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 148
Points : 7 295
Points : 7 295
Bonjour

Citation:
<script type="application/javascript">
Code :
<script type="text/javascript">
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2012, 19h31   #3
Invité de passage
 
Homme Serge
Educateur spécialisé
Inscription : janvier 2012
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Serge
Localisation : France

Informations professionnelles :
Activité : Educateur spécialisé
Secteur : Santé

Informations forums :
Inscription : janvier 2012
Messages : 21
Points : 4
Points : 4
J'y avais pensé mais ça ne fonctionne toujours pas.
Avec <script type="text/javascript"> ma seconde liste est vide et avec <script type="application/javascript">, voici l'erreur dans le debbugeur :
Citation:
Line: 956
Erreur : Objet attendu
Code html :
<select id="types" name="type" onchange="refreshMarques();">
Merci de ton aide.
Sergio_zero est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h51.


 
 
 
 
Partenaires

Hébergement Web