Incrémentation d'une variable globale en javascript

Signaler
Messages postés
64
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
27 août 2010
-
Messages postés
64
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
27 août 2010
-
Hello !

Je cherche depuis des heures à incrémenter une variable globale, à chaque fois que j'appelle une méthode.

Je dois créer un nouveau plugin pour tinymce, afin de pouvoir insérer des balises personnalisées dans un textarea. Ce que j'aimerais c'est avoir un id différent pour chaque balise, afin de récupérer son contenu, d'où mon incrémentation.

Voici mon code:

<hr />
<script type="text/javascript" language="javascript">
var linkId = 0; // déclaré au tout début du script, avant les fonctions

function incremente() {
    linkId = linkId + 1;
    var link = ' &lt;&sect; ' + typeName + ':' + article + ':' + linkName + ' &sect;&gt; ' + linkId;
    alert(linkId);
}
</script>
<hr />
Est-ce que quelqu'un voit où est la faute ?

Je vous remercie d'avance pour votre aide.

forcels
A voir également:

4 réponses

Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
36
<html>
<head>
 
  <script type="text/javascript">
  <!--
  var global_ID = 1;

  function GetID() {
    return global_ID++;
  }
 
  function GetText() {
    return ('un texte, ID='+GetID()+'
');
  }
  //-->
  </script>

</head>

  <script type="text/javascript">
  <!--
  for (i=0; i<10; i++) {
    document.write(GetText());
  }
  //-->
  </script>

</html>
Messages postés
64
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
27 août 2010

Hello

Merci pour ta réponse f0xi. Mais dans mon cas, cela ne fonctionne pas.

Je travaille avec tinymce, et je rajoute un plugin là-dedans. Je clique donc sur le bouton que je viens de créer pour ajouter une balise personnalisée, et lorsque je clique sur le bouton, cela fait appel à un fichier .js, où j'ai ma variable globale pour faire mon incrémentation.

Mon problème, c'est que la variable globale est à chaque fois réinitialisée. Comment je peux faire pour que cette variable ne soit pas réinitialisée?

Où existe-t-il un autre moyen, pour que je puisse donner un id différent pour chaque balise que je rajoute ?

Merci beaucoup de t'intéresser à mon problème

forcels
Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
5
Bonjour, pour rajouter un id à chaque balise que tu rajoutes ? tu en aura besoin de cet id  ? sinon, tu peux faire un truc du genre
function incremente() {
    var _id = Math.ceil(Math.random(Date.parse(new Date()) ) * Date.parse(new Date()));   
    var link = ' &lt;&sect; ' + typeName + ':' + article + ':' + linkName + ' &sect;&gt; ' + linkId;
    alert(linkId);
}
ce qui fait que l'id sera unique ( calculer sur la date ) et voilà ;o)
[o-_-o]
Messages postés
64
Date d'inscription
mercredi 10 mai 2006
Statut
Membre
Dernière intervention
27 août 2010

Hello !

Je viens juste de trouver une solution à mon problème !

En fait, j'ai déclaré ma variable globale dans le fichier de départ de tinymce (tiny_mce.js) et je l'appelle ensuite depuis mon fichier js, se trouvant dans mon plugin, de cette manière: tinyMCE.ma_variable_globale.

De cette manière, ma variable globale n'est pas réinitialisée.

En espérant que ca peut aider quelqu'un
Merci beaucoup de votre aide !

forcels