Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources 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 27/04/2011, 11h10   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
Par défaut Afficher une image en fonction de l'état d'une variable

Bonjour

Je cherche à afficher une image en fonction de l'etat d'une variable 'var'

'var' pourra être égale à 0,1,2 ou 3

si 'var' = 0 je voudrai afficher LED0.gif
si 'var' = 1 je voudrai afficher LED1.gif
etc ...

Pour cela, j'ai intégré ceci dans la ma page HTML :

Code :
document.getElementById('var').innerHTML = '<img src="LED'+getXMLValue(xmlData, 'var')+'.gif">';
et dans la page HTML, je positionne l'endroit ou je souhaite afficher l'image avec un span id :
Code :
<span id="var">?</span>
Je pense que j'ai mal écris ma fonction Java script, peut être manque t-il un ' quelque-part, car je n'ai aucune image affichée.

Cependant, lorsque j’écris ceci, l'image apparait bien :
Code :
<span id="var"><img src="LED0.gif"></span>
Pourriez vous m'aider svp ?
Je vous remercie,
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 11h50   #2
Modérateur
 
Avatar de Robin56
 
Homme Nicolas
Ingénieur développement logiciels
Inscription : juin 2009
Messages : 1 712
Détails du profil
Informations personnelles :
Nom : Homme Nicolas
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2009
Messages : 1 712
Points : 4 841
Points : 4 841
Premièrement, pour avoir une meilleure aide, poste dans le bon topic. En l'occurrence ici Javascript et non Java.

Ensuite, je te donnerais ce conseil (de débutant) :
Code :
1
2
3
4
5
var variable=getXMLValue (xmlData, 'var');
alert(variable); // la valeur est-elle bien récupérée ?
 
var imageLED= '<img src="LED' + variable + '.gif">';
alert(imageLED); // le code HTML est-il correct ?
Comme ça tu pourras plus facilement cerner le problème.
Robin56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 12h22   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
Merci à vous,

J'ai bien les 2 alertes , la premiere me renvoi NULL, en effet var = 0

pour la seconde, j'obtiens le code suivant dans la fenêtre :


Je veux à présent afficher l'image je procède ainsi, mais ça ne fonctionne pas, peut etre est ce incorrect ?

Code :
document.getElementById('etat').innerHTML = var imageLED;
puis à l'endroit ou je veux afficher l'image :
Code :
<span id="etat">?</span>
Faut il nommer le fichier image LED0.gif ou plutot LEDNULL.gif ?

Merci à vous,
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 12h48   #4
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonsoir,

Code :
document.getElementById('etat').innerHTML = imageLED;
A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 12h53   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
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 806
Points : 35 803
Points : 35 803
Citation:
J'ai bien les 2 alertes , la premiere me renvoi NULL, en effet var = 0
Mais non, ça renvoie null parce que la valeur n'a pas pu être récupérée.

C'est quoi cette fonction getXMLValue() ?
__________________
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 27/04/2011, 13h22   #6
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
oui Bovino, vous avez raison

je ne sais pas pourquoi je récupère null à la place de "0"
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 13h43   #7
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
getXMLValue() permet d'aller chercher dans un fichier xml, le contenu d'une variable ('var') qui à été envoyée par un équipement distant.

lorsque je consulte le fichier xml, la valeur 'var' est pourtant bien remplacée par la valeur attendue, c'est étrange que le script n'arrive pas à la récupérer.


-> http://10.0.0.200/status.xml

--> ci joint son contenu lorsque je l'appelle directement, on voit ici que var = 1

<response>
<var>1</var>
</response>
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2011, 13h45   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
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 806
Points : 35 803
Points : 35 803
Sans le code de getXMLValue(), difficile de t'aider !
__________________
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 27/04/2011, 13h51   #9
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
J'ai été un peu vite , la fenêtre "alerte" me retourne bien la valeur 1 pour var. Ca marche.

A présent, je voudrai tout intégrer dans une ligne mais ça ne fonctionne pas, je pense avoir un pb de syntaxe quelque part :

Code :
document.getElementById('LED').innerHTML = '<img src="LED' + getXMLValue(xmlData, 'var') +'.gif</img>">';
Voici la fonction getXMLValue :

Code :
1
2
3
4
5
6
7
8
9
10
11
// Parses the xmlResponse returned by an XMLHTTPRequest object
//	xmlData: the xmlData returned
//  field: the field to search for
function getXMLValue(xmlData, field) {
	try {
		if(xmlData.getElementsByTagName(field)[0].firstChild.nodeValue)
			return xmlData.getElementsByTagName(field)[0].firstChild.nodeValue;
		else
			return null;
	} catch(err) { return null; }
}
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2011, 23h53   #10
Candidat au titre de Membre du Club
 
Inscription : septembre 2008
Messages : 251
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 251
Points : 13
Points : 13
Bonjour

Auriez vous une idée pourquoi cette ligne ne fonctionne pas ?
Code :
1
2
 
document.getElementById('LED').innerHTML = '<img src="LED' + getXMLValue(xmlData, 'var') +'.gif</img>">';
Je vous remercie,
lcoulon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 05h49   #11
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Vérifie bien la fermeture des quotes.
Code :
1
2
 
document.getElementById('LED').innerHTML = '<img src="LED' + getXMLValue(xmlData, 'var') +'.gif" </img>';
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 19h25   #12
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Citation:
Envoyé par andry.aime Voir le message
Vérifie bien la fermeture des quotes.
… Et des balises également
Code :
document.getElementById('LED').innerHTML = '<img src="LED' + getXMLValue(xmlData, 'var') + '.gif">';
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h09.


 
 
 
 
Partenaires

Hébergement Web