Javascript, entre 2 'function'

Résolu
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.
Configuration: Windows XP
Internet Explorer 6.0 - Firefox 3 - IE7

3 réponses

  1. 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 !
    1. 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...
      1. 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;
        }