Salut,
J'exécute, graçe à document.write(), une série de chaine de caractère sensée créer des images.
liste_struct contient alternativement une adresse d'image, et un nom. liste_struct[i] est une adresse d'image, liste_struct [2*i] est un nom.
for (i=0;i<liste_struct.length;i+=2)
{
var str_temp = liste_struct[i+1];
document.write(
'<img border="0" height="128" src="Photos/Equipe/'
+liste_struct[i]+'"'
+' onMouseOver=dyn_text1.innerHTML=str_temp>'
+'</img>');
}
Les images s'affichent, mais lorque la souris passe sur une image, le texte dyn_text1 vaut undefined.
Pourtant le code html généré devrait être:
<img border="0" height="128" src="Photos/Equipe/nom1_prenom1.jpg" onMouseOver=dyn_text1.innerHTML= "NOM1 Prénom1"></img>
<img border="0" height="128" src="Photos/Equipe/nom2_prenom2.jpg" onMouseOver=dyn_text1.innerHTML= "NOM2 Prénom2"></img>
Or il est:
<img border="0" height="128" src="Photos/Equipe/nom1_prenom1.jpg" onMouseOver=dyn_text1.innerHTML= liste_struct[i+1]></img>
<img border="0" height="128" src="Photos/Equipe/nom2_prenom2.jpg" onMouseOver=dyn_text1.innerHTML= liste_struct[i+1]></img>
D'où le undefined.
var str_temp = liste_struct[i+1]; crée un lien vers liste_struct[i+1], comment forcer la création d'une nouvelle chaine de caractere et forcer la copie brute des données pour arriver à générer le code voulu.
Merci