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] XML champ vide


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Points : 28
    Points
    28
    Par défaut [AJAX] XML champ vide
    Bonjour tout le monde,

    J'ai un petit soucie lorsque j'importe mon fichier XML dans ma page php avec javascript.

    Si tout le champs XML sont remplit j'ai pas de soucis mais il suffit que j'ai par exemple un champs vide comme <adresse /> et la javascript plante sur se champs.

    Y'a-t-il une possibilité pour que le javascript comprenne le champ vide?

    On m'a déjà proposé de faire un test if sur chaque champs mais ça va me faire un script javascript très très long parce que j'ai énormément de champs et ça va mettre très longtemps à charger.

    Merci de vos réponses.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Le problème se situe probablement au niveau du code traitant le fichier XML.
    Peut-tu nous montrer le code que tu utilises pour traiter du XML ?

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 241
    Points : 272
    Points
    272
    Par défaut
    Bonjour,

    Il n'y a pas d'autres solutions que de faire un if afin de déterminer si ton élément XML à au moins un noeud fils ou non avant d'y accéder. Faire un getNodeValue sur undefined ne marchera jamais, d'ou l'erreur.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Points : 28
    Points
    28
    Par défaut
    Merci beaucoup pour vos réponses.

    Donc si je comprend bien pas les deux solutions qui s'offre à moi :

    Faire des if sur tous mes champs xml
    Remplir mes champs xml d'un &nbsp;

    C'est ça?

  5. #5
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut,

    Il serait bon que tu précises un peu ton problème car JavaScript n'a aucun problème pour récupérer un champ vide... à moins bien sûr que tu tentes ensuite d'en récupérer les noeuds enfants, auquel cas, il s'agit plus d'un problème de conception...

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Points : 28
    Points
    28
    Par défaut
    Alors désolé j'aurais du vous montrer mon code plus tôt...

    Voici mon xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <listeMag>
      <magasin>
        <idMag>37</idMag>
        <logoMag></logoMag>
        <nomMag>Heytens</nomMag>
        <commentaireMag></commentaireMag>
        <photoMag></photoMag>
        <photo2Mag></photo2Mag>
        <photo3Mag></photo3Mag>
        <photo4Mag></photo4Mag>
      </magasin>
    </listeMag>
    Et mon javascript pour récupéré les champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    var id = listeMag.item(j).getElementsByTagName("idMag").item(0).firstChild.data;
    var nom = listeMag.item(j).getElementsByTagName("nomMag").item(0).firstChild.data;
    var logo = listeMag.item(j).getElementsByTagName("logoMag").item(0).firstChild.data;		
    var commentaire = listeMag.item(j).getElementsByTagName("commentaireMag").item(0).firstChild.data;
    var photo = listeMag.item(j).getElementsByTagName("photoMag").item(0).firstChild.data;
    var photo2 = listeMag.item(j).getElementsByTagName("photo2Mag").item(0).firstChild.data;
    var photo3 = listeMag.item(j).getElementsByTagName("photo3Mag").item(0).firstChild.data;
    var photo4 = listeMag.item(j).getElementsByTagName("photo4Mag").item(0).firstChild.data;
    Et en faite lorsqu'un champs est vide il me met une erreure ...

    Merci

  7. #7
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Effectivement, puisque des éléments sont susceptibles d'être vides, il faut tester cela avec des if avant d'essayer d'en récupérer le contenu.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 49
    Points : 28
    Points
    28
    Par défaut
    Ok donc pas d'erreur de conception il faut vraiment que je fasse des if sur tous les champs...

  9. #9
    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 : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par cloud76 Voir le message
    donc pas d'erreur de conception
    Ca en aurait été une si cette balise était toujours vide comme le laissait penser ta syntaxe :


    il faut vraiment que je fasse des if sur tous les champs...
    Seulement ceux susceptibles d'être vides. Ou alors, mettre un valeur par défaut si c'est possible.

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

Discussions similaires

  1. XML champ vide
    Par sebac dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 13/07/2010, 16h12
  2. [AJAX] Champs vide XML
    Par cloud76 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/01/2009, 13h39
  3. [AJAX] Savoir si une balise XML est vide ?
    Par numew dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/04/2008, 22h15
  4. [AJAX] xml tester si un noeud est vide
    Par Alex35 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/06/2007, 17h32
  5. [AJAX] XML généré ok, responseXML.documentElement vide !
    Par LeCaméléon dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/12/2006, 09h53

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