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

JavaScript Discussion :

[AJAX] AJAX sous IE


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [AJAX] AJAX sous IE
    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");
    	}
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Essaie en ajoutant une variable qui évolue pour forcer IE à recharger le script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var dt = new Date(); // Modif pour le cache
    //donnees = INFORMATION QUI VONT ETRE TRANSMISE A LA PAGE
    var donnees = 'code_postal=' + code_postal.value+"&time=" + dt.getMilliseconds(), // Modif pour le cache
    A+

Discussions similaires

  1. [AJAX] AJAX rafraichissement sous IE
    Par yodark dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/01/2008, 16h32
  2. [AJAX] AJAX sous IE et FF
    Par Zarx dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/08/2007, 13h24
  3. [AJAX] Ajax marche sous IE mais pas sous Firefox
    Par snoopy92 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 10/05/2007, 18h24
  4. [AJAX] Ajax et XmlHttpRequest (marche pas sous IE)
    Par krovomi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/03/2007, 16h39
  5. [AJAX] xmlhttprequest sous IE7
    Par arena94 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/12/2006, 21h09

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