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 IE


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut [AJAX] Ne fonctionne pas sous IE
    Bonjour,

    Mon script ne me retourne pas de valeur sur IE alors que sur firefox, il faonctionne très bien.

    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
    function goCodePostalVille(param1,param2)
    {
       var xmlhttp = null;
     
       try{
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       }
       catch(e){
          try{
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e){
             xmlhttp = false;
          }
       }
     
       if (!xmlhttp && typeof XMLHttpRequest!='undefined'){
          xmlhttp = new XMLHttpRequest();
       }
     
       xmlhttp.open('GET', '../ajax/ajaxCodePostalVille.php?param1='+param1.value,false);
       xmlhttp.setRequestHeader('User-Agent', 'Test generate select');
       xmlhttp.setRequestHeader('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.7,*/*;q=0.1');
       xmlhttp.send(null);
     
       if(xmlhttp.status == 200)
       {
          var liste1 = xmlhttp.responseXML.getElementsByTagName('balise1');
          var liste2 = xmlhttp.responseXML.getElementsByTagName('balise2');
     
          var liste_select = document.getElementById(param2);
          var tmp = document.createElement('option');
     
          while(document.getElementById(param2).options.length > 0){
             document.getElementById(param2).removeChild(document.getElementById(param2).options[0]);
          }
     
          for(var i = 0, m = liste1.length; i < m; i++)
          {
             tmp.setAttribute('value', liste2[i].firstChild.nodeValue);
             tmp.removeAttribute('selected');
             if (liste2[i].firstChild.nodeValue == param2) tmp.setAttribute('selected', 'selected');
             tmp.appendChild(document.createTextNode(liste1[i].firstChild.nodeValue));
             liste_select.appendChild(tmp);
             tmp = tmp.cloneNode(false);
          }
     
          liste_select.disabled = false;
       }
    }
    Je test pourtant IE.

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut

    devait marcher avec tous les navigateurs!

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Merci, je ne connais pas, je suis donc allé voir la doc.

    J'ai donc fait

    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
    function goCodePostalVille(param1,param2)
    {
       var xmlhttp = null;
     
       try{
          xmlhttp=new XMLHttpRequest();
       }
       catch(e){
          try{
             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
          catch(e){
             xmlhttp = false;
          }
       }
     
       if (!xmlhttp && typeof XMLHttpRequest!='undefined'){
          xmlhttp = new XMLHttpRequest();
       }
     
       xmlhttp.open('GET', '../ajax/ajaxCodePostalVille.php?param1='+param1.value,false);
       xmlhttp.setRequestHeader('User-Agent', 'Test generate select');
       xmlhttp.setRequestHeader('Accept', 'text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.7,*/*;q=0.1');
       xmlhttp.send(null);
     
       if(xmlhttp.status == 200)
       {
          var liste1 = xmlhttp.responseXML.getElementsByTagName('balise1');
          var liste2 = xmlhttp.responseXML.getElementsByTagName('balise2');
     
          var liste_select = document.getElementById(param2);
          var tmp = document.createElement('option');
     
          while(document.getElementById(param2).options.length > 0){
             document.getElementById(param2).removeChild(document.getElementById(param2).options[0]);
          }
     
          for(var i = 0, m = liste1.length; i < m; i++)
          {
             nouvel_element = new Option(liste2[i].firstChild.nodeValue,liste1[i].firstChild.nodeValue,false,false);
    		 document.formulaire.liste.options[document.formulaire.liste.length] = nouvel_element;
    		 document.formulaire.ip.value = "";
          }
     
          liste_select.disabled = false;
       }
    }
    Mais bon, du coup ça ne fonctionne plus nul part

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    on peut voir le code HTML associé ?

    A+

  5. #5
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Voici le code associé
    Code html : 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
    <p class="double">
    			<label for = "abonne_adr_cp" title="Veuillez saisir le code postal" class="oblig">*Code postal</label>
    			<input type="text" name="abonne_adr_cp" id="abonne_adr_cp" size="6" maxlength="5"
    			title="Veuillez saisir le code postal" value=""
    			onChange="goCodePostalVille(document.getElementById('abonne_adr_cp'), document.getElementById('abonne_adr_ville').id);"
    			onkeypress="if((event.which == 13)||(event.keyCode == 13)) champSuivant('abonne_adr_ville') "
    			onfocus="this.className='focus';" onblur="this.className='normal';">
     
    			<!---<div class="update" id="abonne_adr_cp_update"></div>
    			<input type="hidden" name="abonne_adr_cp_id" id="abonne_adr_cp_id" value=""/>--->
    		</p>
    		<p class="double">
    			<label for = "abonne_adr_ville" title="Veuillez choisir la ville" class="oblig">*Ville</label>
    			<select name="abonne_adr_ville" id="abonne_adr_ville" title="Veuillez choisir une commune"
    				onkeypress="if((event.which == 13)||(event.keyCode == 13))
    				onfocus="this.className='focus';" onblur="this.className='normal';">
    				<option value="">-- Saisissez votre code postal --</option>
    		  	</select>
    		</p>

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    C'est là que ça ne fonctionne pas dans mon javascript (sauf sous firefox)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    alert("1");
    var liste1 = xmlhttp.responseXML.getElementsByTagName('balise1');
    alert("2");
    Je vois 1 mais pas 2 sous ie ou opera

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] Ajax ne fonctionne pas sous internet explorer
    Par Bhaalrock dans le forum AJAX
    Réponses: 1
    Dernier message: 11/10/2013, 13h55
  2. $.ajax() ne fonctionne pas sous IE 7,8 et 9
    Par marbouchi dans le forum jQuery
    Réponses: 4
    Dernier message: 20/02/2012, 08h24
  3. [CakePHP] Autocompletion Ajax ne fonctionne pas sous ie
    Par Tybaal dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 25/09/2011, 01h41
  4. [AJAX] Parsage XML ne fonctionne pas sous IE!
    Par webrider dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/03/2007, 19h50
  5. [AJAX] Code tuto Ajax fonctionne pas sous FF, mais IE et OP sont OK
    Par hugo69 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/01/2007, 21h27

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