Récupérer valeur tableau hors fonction

Résolu/Fermé
jmoner74 Messages postés 2 Date d'inscription samedi 22 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013 - Modifié par jmoner74 le 22/12/2012 à 16:31
jmoner74 Messages postés 2 Date d'inscription samedi 22 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013 - 3 janv. 2013 à 15:31
Bonjour,

je voudrais conserver une valeur dans un tableau, pour la récupérer ensuite. Je pensais qu'un tableau était considérer comme un Objet et non une variable locale. Hors quand j'essaie de récupérer la valeur de ce tableau en dehors de ma fonction, cela ne fonctionne pas. J'avais évidemment pensé aux Cookies, mais en passant du temps sur les forums j'ai vu d'autres solutions (closure), que j'ai été incapable de mettre en application pour mon code.

Le code HTML :
<body>
<a href="" onclick="montagne('massifcentral');">Massif Central<br /></a> 
<a href="" onclick="montagne('vosgesjura');" >Vosges / Jura<br /></a> 
<a href="" onclick="montagne('pyrenees');" >Pyrénées<br /></a> 
<a href="" onclick="montagne('alpes');">Alpes<br /></a> 

<br /><br /> 
<img src="../images/avatar-default.jpg" width="70" height="70" alt="avatar" onclick="returntab();" /> 
</body>


Le script JS :
var tableau = new Array(); 
function montagne(champ) { 
  tableau[0] = champ; 
  alert (tableau[0]); 
  return false; 
} 

function returntab () { 
  alert (tableau[0]); 
}


Merci à tous.

2 réponses

tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 232
22 déc. 2012 à 22:04
Salut,

Il me semble qu'il faut utiliser une fonction anonyme (closure) au seins de la fonction principal puis faire passer la variable en argument de la seconde fonction pour l'exploiter...à confirmer!
function(){nom_de_la_fonction_bis(variable_a_faire_passer)};

0
jmoner74 Messages postés 2 Date d'inscription samedi 22 décembre 2012 Statut Membre Dernière intervention 3 janvier 2013
3 janv. 2013 à 15:31
Merci pour la réponse, cela fonctionne effectivement. Mais pour plus de simplicité j'ai décidé de passer par des Cookies.
0