IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Ne fonctionne pas sous Firefox


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut [AJAX] Ne fonctionne pas sous Firefox
    Bonjours,
    Voila mon problème, j’ai crée trois select, quand je sélectionne une option dans la première les deux autres changent à temps réel et ainsi de suite. Sa marche très bien sous IE mais pas sous Firefox, voila le code java script et 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
    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
    var Ld11Id='';
    var Ld22Id='';
    var id_liste='';
     
    function ValideLd11(val) {
     
    	Ld00Id=val; //id_département
    	id_liste='1';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL = 'ValideLdm11.php?Ld00='+Ld00Id;
    	ObjetXHR(LD_URL)
    	id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL1 = 'ValideLdm22.php?Ld00='+Ld00Id;
    	ObjetXHR(LD_URL1)
    	id_liste='3'; //Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL2 = 'ValideLdm33.php?Ld00='+Ld00Id;
    	ObjetXHR(LD_URL2)
     
    	// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
     
    }
    function ValideLd22(val) {
    	Ld11Id=val; //id_département
    	id_liste='2';//Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL1 = 'ValideLdm22.php?Ld11='+Ld11Id;
    	ObjetXHR(LD_URL1)
     
    	// Réinitialisation de Ld3 si modification de LD1 après passage en Ld2
    	id_liste='3'; //Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL1 = 'ValideLdm33.php?Ld11='+Ld11Id;
    if (Ld11Id=='') {var LD_URL1 = 'ValideLdm33.php?';}
    	ObjetXHR(LD_URL1)
    	}
     
    function ValideLd33(val) {
    	Ld22Id=val; //id_commune
    	id_liste='3'; //Utilisé dans la fonction ChargeLd() pour identifier la liste déroulante
    	var LD_URL = 'ValideLdm33.php?Ld22='+Ld22Id;
    	if (Ld22Id=='') {var LD_URL = 'ValideLdm33.php?';}
    	ObjetXHR(LD_URL)
    }
     
     
    function ObjetXHR(LD_URL) {
    	//creation de l'objet XMLHttpRequest
    	if (window.XMLHttpRequest) { // Mozilla,...
    		xmlhttp=new XMLHttpRequest();
    		if (xmlhttp.overrideMimeType) {
    			xmlhttp.overrideMimeType('text/xml');
    		}	
    		//setrequestHeader;
    		xmlhttp.onreadystatechange=ChargeLd;
    		xmlhttp.open("GET", LD_URL, true);
    		xmlhttp.send(null);
    	} else if (window.ActiveXObject) { //IE 
    		xmlhttp=new ActiveXObject('Microsoft.XMLHTTP'); 
    		if (xmlhttp) {
    			xmlhttp.onreadystatechange=ChargeLd;
    			xmlhttp.open('GET', LD_URL, false);
    			xmlhttp.send();
    		}
    	}
    	// Bouton non apparent car modification de LD1 ou Ld2
     
    }
     
    // fonction pour manipuler l'appel asynchrone
    function ChargeLd() {
    	if (xmlhttp.readyState==4) { 
    		if (xmlhttp.status==200) { 
    			//span id="niv2" ou "niv3"
    			document.getElementById('niv'+id_liste).innerHTML=xmlhttp.responseText; 
    			if (xmlhttp.responseText.indexOf('disabled')<=0) {
    				//focus sur liste déroulante 2 ou 3
    				document.getElementById('Liste'+id_liste).focus(); 
    			}	
    		}
    	}
    }
    Je crois que le problème est dans la création de l’Objet XHR ou je ne sais pas exactement. Merci de votre aide

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Je crois avoir déjà vu des soucis avec l'utilisation d'un objet de transport (xmlhttprequest ou activex) dans une variable globale (ici dans ta variable xmlhttp). Fais un essai en créant ta variable avec var, puis en passant l'objet en paramètre pour conserver sa référence dans les fonctions qui en ont besoin (par exemple en le retournant lors de ta fonction ObjetXHR())

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 25
    Par défaut
    comment faire exactement, car la variable xmlhttp se crée selon le navigateur.
    selon que vous avez dit de la passer en paramètres? ou dois-je tester le navigateur pour passer cette variable en paramètre??

Discussions similaires

  1. [AJAX] ajax et xml ne fonctionnant pas sous Firefox
    Par Phpdebut dans le forum AJAX
    Réponses: 7
    Dernier message: 03/02/2010, 12h15
  2. [HTML] iframe ne fonctionne pas sous firefox
    Par freija dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 29/08/2006, 12h20
  3. fonction ridicule qui fonctionne pas sous firefox
    Par Isses dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/06/2006, 12h08
  4. Evenement OnClick qui ne fonctionne pas sous firefox
    Par frechy dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/12/2005, 16h06
  5. Java ne fonctionne pas sous Firefox
    Par Info-Rital dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 29/07/2004, 23h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo