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] HttpRequest bloqué par IE


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut [AJAX] HttpRequest bloqué par IE
    Bonjour à tous,

    Par un classique httpRequest, je lis un arbre XM pour afficher un formulaire dont les champs sont remplis par les données. Sur FF, c'est nickel, mais sur IE...le script est bloqué !

    Le débuggueur me dit :
    Nombre d'arguments ou affectation de propriété incorrects
    Et voici la ligne incriminée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(xhr.readyState == 4 && xhr.status == 200) {
    var rst = xhr.responseXML;
    var items = rst.getElementsByTagName('element');
    if(items != "" && items != null && items.length > 0){ <- cette ligne le fâche tout jaune !
    .......
    .........
    }
    }
    Voyez-vous où se situerait le loup ?
    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Oui, items (au passage, tu devrais éviter ce nom de variable car il existe dans le langage) est une collection d'objets, tu ne peux pas le comparer avec une chaine.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Bonjour Bovino,

    Et merci. Effectivement, items.length>0 suffit amplement.
    Et, tenant compte de ton conseil, j'ai renommé items.

    Bonne journée.

  4. #4
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Argghhh, non, j'ai parlé trop vite.
    Sur le même script, toujours avec ce brave IE, un autre loup rôdait...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <span name="lien_produit[<?php echo $i; ?>]"></span>
     
    et
     
    var contient_lien = document.getElementsByName("lien_produit["+num_prod+"]");
    contient_lien.innerHTML = "........";
    Plante avec le message ; undefined a la valeur null ou n'est pas un objet.
    C'est l'attribut name de span qui défrise IE, alors que FF affiche tout impec ?

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    contient_lien[0].innerHTML
    Sinon, montre nous ton code html généré.

    A+.

  6. #6
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Bonsoir,

    contient_lien[0].innerHTML
    Oui, en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var contient_lien = document.getElementsByName("lien_produit["+num_prod+"]");
    Je déclare cette variable hors de la boucle qui lit les items de l'arbre XML qui affiche des blocs de formulaire avec le httpRequest.

    Ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(xmlItems.length > 0)
    {
    for(var i=0; i< xmlItems.length; i++){
    	contient_lien[i].innerHTML = '<a href="page.php"><img src="toto.gif"></a>';
    }
    }
    Et je ne vois pas le code généré puisque tout s'affiche dans un DIV avec le retour du responseXML.
    Mais FF affiche bien l'image, le lien et tous les champs des formulaires.
    IE, lui, bloque tout. Si j'enlève cette instruction contient_lien[i].innerHTML, ça passe. C'est juste ça qui coince...

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

Discussions similaires

  1. Probleme d'enregistrement bloqué par utlisateur !
    Par FilipeVV dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/03/2006, 14h32
  2. Etat bloqué par une table
    Par aujero dans le forum Access
    Réponses: 4
    Dernier message: 06/02/2006, 17h53
  3. Disque dur bloqué par DriveLock !!!!
    Par Celia1303 dans le forum Composants
    Réponses: 2
    Dernier message: 22/11/2005, 18h02
  4. bloqué par cookie
    Par kidu dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/08/2005, 09h59
  5. Site sur CD - javascript bloqué par SP2
    Par loutente dans le forum Général Conception Web
    Réponses: 16
    Dernier message: 17/05/2005, 14h22

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