Concaténation variable en javascript

Fermé
Neil - 15 juil. 2009 à 12:53
 Neil - 15 juil. 2009 à 14:09
Bonjour à tous,

Voila, j'ai un petit souci (mais génant) dans une fonction de mon code JS qui est chargée de modifier l'image d'une div pour une action donnée. Celle-ci fonctionne lorsque le nom de l'image est directement renseigné dans le JS mais lorsque je souhaite le faire passer en paramètre, cela ne fonctionne plus. D'où une erreur dans la syntaxe ou la concaténation d'après moi...

Voici la fonction JS :

function afficheIMG(nom){
    var imgPath = new String();
    imgPath = document.getElementById("imgprinc").style.backgroundImage;
		        
    if(imgPath == "")
        document.getElementById('imgprinc').style.backgroundImage = 'url('+nom+')';
    else
        document.getElementById('imgprinc').style.backgroundImage = 'url('+nom+')';	    
}


Et voici l'appel de la fonction (le paramètre $objet['nomFichier'] n'est pas vide), le lien entourne une image pour info ;)

<a href="javascript:afficheIMG('images/<?php echo $objet['nomFichier']; ?>');">


Si quelqu'un a le temps de jeter un coup d'oeil SVP ...


Merci d'avance
A voir également:

6 réponses

resalut Messages postés 784 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 21 janvier 2010 55
15 juil. 2009 à 14:05
pk pas faire :
function afficheIMG(nom){
document.getElementById("imgprinc").innerHTML='<img src="'+nom+'" border="0" alt="img" />';
2
resalut Messages postés 784 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 21 janvier 2010 55
15 juil. 2009 à 12:55
question a la con tu veut mettre l'image en fond ou juste l'afficher?
0
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
15 juil. 2009 à 13:01
salut
comme tu ne précises pas beaucoup j'ai quelques questions

1) y a il une erreur dans la console ?
2) t'as essayé de faire un alert(nom) ?
3) document.getElementById('imgprinc') existe bien ?
4) quel élément correspond à document.getElementById('imgprinc') ? la propriété backgroundimage est elle valide pour lui ?


ps : a quoi sert ton if vu que il y a la même chose dans les 2 cas ?
0
resalut Messages postés 784 Date d'inscription vendredi 26 juin 2009 Statut Membre Dernière intervention 21 janvier 2010 55
15 juil. 2009 à 13:02
ca c'est de la chasse à l'erreur :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Désolé j'étais parti manger :s

Concernant l'image je souhaite l'afficher et non en fond.

1) Dans la console FF, j'ai le message suivant :
"Avertissement : Erreur d'analyse de la valeur pour « background-image ». Déclaration abandonnée.".

2) le alert(nom); me renvois bien la variable passé en paramètre.

3) Concernant document.getElementById('imgprinc'), il existe bien et fonctionne même si on lui indique le nom du fichier "en dur" (document.getElementById('imgprinc').style.backgroundImage = 'url('image.jpg)';) et non en paramètre de la fonction.

Concernant les doubles if, c'est vrai qu'ils servaient à rien, j'ai modifié cela.
0
Cela fonctionne, je n'avais pas pensé à cette solution. En tout cas merci !!!
Par contre, je comprend pas pourquoi cela ne fonctionnait pas avec l'autre façon...
0