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 :

Recuperer une "value" pour reconsituer un nom de fichier


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    Points : 46
    Points
    46
    Par défaut Recuperer une "value" pour reconsituer un nom de fichier
    Bonjour !

    Alors voila j ai un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script type="text/javascript" src="msn/MSN_0462.js"></script>
    Qui est en fait une matrice (je sais que j aurais du faire commencer l index a 0)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MSN_0462=new Array();
    MSN_0462[01]="In Service";
    ...
    D autre part j ai une drop down list
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <Form name="form2">
    <SELECT name="msn">
    <OPTION value="0462">0462</OPTION>
    Associé à un bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <INPUT type="button" name="go" Value= "Go!" onclick="SelectMSN(document.form2.msn.value)">
    qui appelle cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <script langage="text/javascript">
    	function SelectMSN(value)
    	{
    		document.getElementById("id01").innerHTML = assign('MSN_' + value +'[01]';)
    	}
    </script>
    En gros je veux que l utilisateur en selectionnant le numero de la liste affiche a l ecran certaines valeurs de la matrice MSN_"numéro sélectionné" mais ça marche pas.

    A mon avis j ai du me louper sur le "assign".

    Merci pour votre aide !

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    C'est quoi cette fonction assign ?

    ERE

  3. #3
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Je ne sais pas d'où sort cette fonction assign mais ce que tu veux faire c'est certainement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("id01").innerHTML = eval('MSN_' + value)[01];
    ERE

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 63
    Points : 81
    Points
    81
    Par défaut
    Citation Envoyé par emmanuel.remy Voir le message
    Je ne sais pas d'où sort cette fonction assign mais ce que tu veux faire c'est certainement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("id01").innerHTML = eval('MSN_' + value)[01];
    ERE
    eval == evil, il faut tout simplement utiliser l'objet window puisque la variable est global :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    window['MSN_'+value][01];

  5. #5
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Effectivement SI la variable est globale c'est une meilleure approche. Mais rien ne le dit ici.

    Quant au eval==evil j'ai toujours été persuadé que la dangerosité d'utiliser une telle fonction est toute relative si on est conscient du danger. A ce rythme là on ne fait plus rien, et un peu de bon sens ne nuit pas.
    Dans le cas présent on évalue au sein d'un navigateur (ce n'est pas le eval PHP où on pourrait être nettement plus précautionneux) et le développeur maitrise entièrement la chaine qui sera évaluée. Pourquoi s'en priver ?

    ERE

  6. #6
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    Bonjour,
    Merci pour votre aide.

    J ai fait les modifs suivantes (le id01 c est jsute pour verifier que pour le cas en dur,labonne valeur s affiche ce qui est le cas)

    J ai l erreur suivante de mon debugger:
    MSN_Undefined

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <script langage="text/javascript">
    	function SelectMSN(value)
    	{
    		document.getElementById("id01").innerHTML = MSN_0370[01];
    		document.getElementById("id02").innerHTML = eval('MSN_'+value)[01];
     
    	}
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <Form name="form2">
    <SELECT name="msn">
    <OPTION value="0000">       </OPTION>
    <OPTION value="9999">All    </OPTION>
    <OPTION value="0123">0123 </OPTION>
    <INPUT type="button" name="go" Value= "Go!" onclick="SelectMSN(document.form2.msn.value)">

  7. #7
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function SelectMSN(value)
    Déjà, évite de donner comme nom à des paramètres ou des fonctions des mots clés du langage
    Ensuite, essaye cette syntaxe plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="SelectMSN(this.form.msn.value)"

  8. #8
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    Merci
    Bon apparemment le probleme etait aussi que j ai pas d indice [00] dans mes matrices.
    Merci encore pour tout !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/03/2007, 16h04

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