Javascript, entre 2 'function'
Résolu
linuxakros
Messages postés
115
Date d'inscription
Statut
Membre
-
linuxakros Messages postés 115 Date d'inscription Statut Membre -
linuxakros Messages postés 115 Date d'inscription Statut Membre -
Bonjour à tous,
J'ai un petit soucis de javascript. J'ai 2 fonctions:
function premiere(id) {
var test = id;
if (test == "1")
{
var msg="bla1";
}
if (test == "2")
{
var msg="bla2";
}
...
..
.
}
function deuxieme(){
document.getElementById('madiv').innerHTML= msg;
}
et dans body
<a href="#" onclick="premiere('1');">1</a> - <a href="#" onclick="premiere('2');">2</a>
<div id="madiv"></div>
Le problème est que je n'arrive pas à avoir ce qu'il faut dans msg pour la 2ème fonction.
Ps: Si je mets var msg="bla3"; en dehors de la 1ère fonction, le message s'affiche bien pour bla3.
Comment faire la liaison entre les 2 fonctions ?
Merci de votre aide et bonne journée.
J'ai un petit soucis de javascript. J'ai 2 fonctions:
function premiere(id) {
var test = id;
if (test == "1")
{
var msg="bla1";
}
if (test == "2")
{
var msg="bla2";
}
...
..
.
}
function deuxieme(){
document.getElementById('madiv').innerHTML= msg;
}
et dans body
<a href="#" onclick="premiere('1');">1</a> - <a href="#" onclick="premiere('2');">2</a>
<div id="madiv"></div>
Le problème est que je n'arrive pas à avoir ce qu'il faut dans msg pour la 2ème fonction.
Ps: Si je mets var msg="bla3"; en dehors de la 1ère fonction, le message s'affiche bien pour bla3.
Comment faire la liaison entre les 2 fonctions ?
Merci de votre aide et bonne journée.
Configuration: Windows XP Internet Explorer 6.0 - Firefox 3 - IE7
3 réponses
-
Le mot clé "var" créer une variable en local, elle n'existe qu'entre les { } dans lesquel elle a été définit. Dans ton cas, la variable msg n'existe que dans les if :
// msg n'existe pas if (test == "1") { var msg="bla1"; // msg existe } // msg n'existe plus
Il te faut donc faire en sorte que la variable soit "global". En javascript, ça revient à ne jamais mettre de "var" devant, ou de la définir en dehors de tout code :var test; function premiere(id) { msg = 'test'; ... } function deuxieme(){ document.getElementById('madiv').innerHTML= msg; } -
Bonjour.
function premiere(id) { var test = id; if (test == "1") { var msg="bla1"; } if (test == "2") { var msg="bla2"; } ... .. . deuxieme (msg); } function deuxieme(texte){ document.getElementById('madiv').innerHTML= texte; }
Tu dois appeler la fonction deuxieme à partir de ta fonction premiere, sinon tu n'exécute que la fonction premiere !
Et, pour éviter des éventuels conflits de variables, utilise des noms de variables bien différenciés... -
Merci de vos réponses GallyNet et macgawel.
J'ai essayé celle de GallyNet et ça fonctionne parfaitement.
Merci de vos aides et bonne journée !