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] liste déroulante lié a des inputs: champs xml vide


Sujet :

AJAX

  1. #1
    Membre habitué
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 245
    Points : 164
    Points
    164
    Par défaut [AJAX] liste déroulante lié a des inputs: champs xml vide
    Bonjour,
    J'ai une liste déroulante dans article.php ou lorsque je sélectionne un article cela m'envoie vers une page articlexml.php ou j'ai fait une requête pour avoir toute les infos liée a l'article sélectionné sous forme xml:
    <article>
    <id></id>
    <nom></nom>
    <fabriquant></fabriquant>
    <type></type>
    </article>
    Les infos sont ensuite affiché dans les inputs correspondants. Cela fonctionne très bien quand tout les champs ont été renseigné.
    Mais et c'est pour cela que je suis la il arrive parfois que les champs type ou fabriquant peuvent être vide.
    Lorsque c'est le cas rien ne s'affiche dans les inputs et dans firebug j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    noeudstype[order].firstChild is null
    comment faire pour que lorsqu'un de mes champs est vide cela ne bloque pas l'affichage du reste des infos?

    voici la fonction afficher:
    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
     
    function afficher(xmldocument,article){
     
                    if(article.value=="lstarticle"){
                        var order=-1;
                    }
                    else{
                        var order=(article.selectedIndex-article.selectedIndex);
                    }
     
                    if (order!=-1){
                        var affichage=document.getElementById("cadre");
                        affichage.style.display='block';
     
                        //noeud du fichier xml
                        noeudsid=xmldocument.getElementsByTagName("id");
                        noeudsnom=xmldocument.getElementsByTagName("nom");
                        noeudsfabriquant=xmldocument.getElementsByTagName("fabriquant");
                        noeudstype=xmldocument.getElementsByTagName("type");  					
     
                        var texteid=noeudsid[order].firstChild.nodeValue ;
                        var textenom=noeudsnom[order].firstChild.nodeValue ;
                        var textefabriquant=noeudsfabriquant[order].firstChild.nodeValue;
                        var textetype=noeudstype[order].firstChild.nodeValue;                    
     
                        document.getElementById("idid").value=texteid;
                        document.getElementById("idrep").value=textenom;
                        document.getElementById("idfabriquant").value=textefabriquant;
                        document.getElementById("idtype").value=textetype;
     
     
                    }
                    else
                    {       var affichage=document.getElementById("cadre");
                            affichage.style.display='none';
     
                    }
                }
    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 : 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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(noeudstype[order].firstChild){...}
    par exemple ?

  3. #3
    Membre habitué
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2010
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2010
    Messages : 245
    Points : 164
    Points
    164
    Par défaut
    merci pour la réponse.
    j'avais essayé cette façon mais je viens de me rendre compte que je tester avec le nodeValue.

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

Discussions similaires

  1. Liste déroulante en cachant des champs
    Par dadal56 dans le forum Langage
    Réponses: 1
    Dernier message: 31/03/2009, 10h20
  2. [AJAX] Liste déroulante en fonction d'un champ texte
    Par 0x0000091 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/01/2009, 13h06
  3. [AJAX] Listes déroulantes liées à partir d'un fichier XML
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/08/2008, 23h02
  4. Réponses: 5
    Dernier message: 23/09/2007, 18h47
  5. liste déroulante et conservation des mots dans un input
    Par LAYETGIRL dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/03/2007, 09h47

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