Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2011, 10h18   #1
Membre habitué
 
Femme Chris
Développeur Web
Inscription : mai 2010
Messages : 225
Détails du profil
Informations personnelles :
Nom : Femme Chris
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 225
Points : 103
Points : 103
Par défaut 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 :
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 :
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
chris0938 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 10h25   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 803
Points : 35 803
Code :
if(noeudstype[order].firstChild){...}
par exemple ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 10h33   #3
Membre habitué
 
Femme Chris
Développeur Web
Inscription : mai 2010
Messages : 225
Détails du profil
Informations personnelles :
Nom : Femme Chris
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 225
Points : 103
Points : 103
merci pour la réponse.
j'avais essayé cette façon mais je viens de me rendre compte que je tester avec le nodeValue.
chris0938 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h11.


 
 
 
 
Partenaires

Hébergement Web