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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    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
    Membre Expert
    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
    Par défaut
    Salut,

    C'est quoi cette fonction assign ?

    ERE

  3. #3
    Membre Expert
    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
    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
    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
    Membre Expert
    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
    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 confirmé
    Inscrit en
    Mai 2009
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 68
    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)">

+ 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