IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Nom de variable aléatoire


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut Nom de variable aléatoire
    Bonjour,

    Ma question est peut être simpliste, mais comment générer un nom de variable aléatoire (et bien sur pourvoir l'utiliser par la suite) ?
    Je suis un peu débutant et après quelques recherches, je n'ai point trouvé de réponse...

    merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    tout dépend de ce que tu souhaites utiliser comme caractères pour le nom de ta variable aléatoire...

    il suffirait d'avoir une chaine alpahabet et de piocher au hasard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Math.round(Math.random())*Alphabet.length
    pour faire un subString ou (un plice sur un array si tu ne veux utiliser qu'une fois le caractère)
    sur l'alphabet pour concaténer une chaine

    ensuite
    et voilà tu as une variable

  3. #3
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    ouai en fait je sais générer un nombre aléatoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var rando = Math.round((Math.random()*1000000));
    ce que je ne sais pas faire en fait c'est que, pour l'exemple suivant...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var rando412454 = 'test';
    ...412454 soit un nombre aléatoire.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ha ben si c'est juste ça c'est beaucoup plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var rando = Math.round((Math.random()*1000000));
    var VarRando = "rando"+rando
     
    window[Varrabdo]='test'
    Maintenant je ne vois pas vraiment l'utilité du truc

  5. #5
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    ouai je sais c'est un peu tordu comme truc. En fait quand j'utilise InnerHTML dans une fonction AJAX sous FF et OPERA, et j'ai un problème de cache. Alors que sous IE (et oui) et sous FF 3.0 beta 5, cela fonctionne parfaitement.
    J'essaye juste de contourner ce bug (si s'en ai un).
    merci je vais essayer cela...

  6. #6
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    ok ça marche bien mais mon bug est toujours là...
    merci en tout cas.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    contourne le cache avec un timestamp en paramètre dans le lien

  8. #8
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    ouai mais c'est de l'AJAX, je ne rafraichi pas la page.
    J'ai commencé à cibler le problème. Le bug se trouve au niveau de la première réponse de la requête : xhr.readyState == 1.
    Et ca ne marche pas sous Opera et Firefox 2.0... soupir ...

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ??? je ne capte pas si tu ne rafraichis pas la page ??, en quoi le cache te gene-t-il ???

  10. #10
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    en fait pour l'histoire :
    1 - j'ai une ligne de tableau.
    2 - dans une cellule une image avec un lien (fonction ajax).
    3 - quand je clique dessus je change le contenu de cette cellule (avec InnerHTML) pendant les étapes xhr.readyState 1, 2 et 3. (pour éviter erreur suite doubleclic).
    4 - et à l'étape xhr.readyState 4, le contenu de la cellule est de nouveau modifié avec nouveau lien et nouvelle image.

    cela fonctionne.
    le problème est que quand je clique sur le lien de la cellule de dessus (par exemple), le contenu de notre cellule initiale change pour le contenu de l'étape 3.

    voila je sais pas si je suis clair, c'est pas simple...

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ce n'est aps une histoire de cache ...
    c'est un problème d'instanciation d'ajax ...

    sur le onclick il faut lancer une nouvelle instanciation d'ajax sinon il cafouille avec l'instanciation déja lancé ...
    Tu peux par exemple le gerer dans un array an faisant un push d'une nouvelle instanciation d'ajax sur chaque click de cellule.

    Leplus simple serait d'empecher le click global sur la page pendant un ajax jusqu'à sa completion ...

    peut être par exemple avec un onmousedown=returnfase sur le body et le rétablir après le readystatus 4 ?

  12. #12
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    yep c'est une idée je vais voir ça.
    merci.

  13. #13
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    heu... comment on fait pour

    onmousedown=returnfase sur le body
    un truc de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.onmousedown = return false;
    ?
    merci

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.onmousedown = function(){return false};
    mais ça ne fonctionnera pas parceque c'est le tableau qui prend le click avant le body...
    il faudrait soit le faire sur tous les td...
    soit mettre un div en z-index de premier plan qui prendra le click et lui coller un cancel bubble ou stopropagation

  15. #15
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    effectivement ça ne marche pas.
    peut être en empêchant le clic du lien ?
    bon, je vais m'en débrouiller.
    merci !

  16. #16
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    regarde par là ...

    http://www.sebemex.fr/Extramiante/Catalogue/index.htm

    je mets un masque au dessus de la page pendant l'ajax ...

  17. #17
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    bon ça me gonfle.
    De toute façon ça fonctionne même au doubleclic, c'est juste ce message d'erreur sous Firebug qui m'obsédait.
    Qu'importe le flacon pourvu qu'on est l'ivresse !
    a+ et merci pour tout !

  18. #18
    Membre régulier Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Points : 107
    Points
    107
    Par défaut
    oups pas vu le dernier post
    ouai j'y avais pensé mais bon...
    je vais voir.
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Avoir un nom de variable aléatoire
    Par blueice dans le forum Langage
    Réponses: 3
    Dernier message: 18/08/2008, 19h15
  2. Nom de variable dans une autre variable
    Par lsdInside dans le forum Linux
    Réponses: 5
    Dernier message: 04/12/2004, 19h36
  3. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 11h44
  4. Nom de variable
    Par lilia dans le forum Flash
    Réponses: 4
    Dernier message: 07/08/2004, 13h11
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo