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 avec caracteres []


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    489
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 489
    Points : 388
    Points
    388
    Par défaut Nom de variable avec caracteres []
    Bonjour,

    J'ai un formulaire destiné a etre traité par du php et j'ai donc assigné des noms du style dossier[nom], dossier[prenom], etc... plus pratique pour les traitements niveau serveur.

    Par contre, j'essaye de recuperer les valeurs dans un script javascript pour un traitement XmlHttpRequest et la j'ai des problemes avec cette notation..

    Je veux creer une partie du formulaire a la volee (on rentre le nb de passagers et ca met a jour la partie pour rentrer le nom/prenom, etc des passagers avec le nombre de champs correspondants..) mon script php marche bien avec des valeurs statiques, j'ai teste, le probleme vient donc de cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Onchange="formPassager(document.form_dossier.dossier[adultes].value, document.form_dossier.dossier[enfants].value, document.form_dossier.dossier[bebes].value)"
    formPassager est ma fonction qui appelle le XmlHttpRequest

    Voila : document.form_dossier.dossier[adultes].value est indefini...
    pourtant j'ai bien un formulaire qui s'appelle ainsi :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action='/scripts/V2/index.php?page=form_dossier&menu=2' method='post' name='form_dossier' id='form_dossier'>
    et un select dossier[adultes] :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <div id='nombresdepassagers'><label for='dossier[adultes]' class='trois'>Adultes</label>
    <select id='dossier[adultes]' name='dossier[adultes]' class='trois' Onchange="formPassager(document.form_dossier.dossier[adultes].value, document.form_dossier.dossier[enfants].value, document.form_dossier.dossier[bebes].value)">
    <option value='0' selected='selected' >0</option>
    <option value='1'>1</option>
    <option value='2'>2</option>
    <option value='3'>3</option>
    <option value='4'>4</option>
    <option value='5'>5</option>
    <option value='6'>6</option>
    <option value='7'>7</option>
    <option value='8'>8</option>
    <option value='9'>9</option>
    <option value='10'>10</option>
    <option value='11'>11</option>
    <option value='12'>12</option>
    <option value='13'>13</option>
    <option value='14'>14</option>
    <option value='15'>15</option>
    <option value='16'>16</option>
    <option value='17'>17</option>
    <option value='18'>18</option>
    <option value='19'>19</option>
     
    </select>

    Alors comment acceder a ces variables en javascript ???

    Merci d'avance !!

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Il faut que tu passe par un tableau associatif pour acceder à ton champ.

  3. #3
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ou alors utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('dossier[adultes]').value
    si il y a les id correspondant.

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Essaies avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form_dossier['dossier[adultes]'].value
    Le problème est qu'il interprete ton nom de select en tant que tableau ( à cause des crochets ), pour éviter ce genre de problèmes, tu peux utiliser des _ (underscore) dans tes noms de variables, c'est beaucoup plus approprié
    K

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    489
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 489
    Points : 388
    Points
    388
    Par défaut
    Merci avec le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(\'dossier[adultes]\').value
    ca marche impec !

    Merci ![/code]

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par KiLVaiDeN
    tu peux utiliser des _ (underscore) dans tes noms de variables, c'est beaucoup plus approprié
    Plus approprié je sais pas, mais bien moins efficace pour le traitement coté serveur !

  7. #7
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Plus approprié pour un nom de variable, là était la question
    Après, si c'est une astuce pour pouvoir gérer ça automatiquement derrière, pourquoi pas, c'est astucieux en effet !
    K

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

Discussions similaires

  1. Choisir les noms des variables avec SAVE et LOAD
    Par Bktero dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/08/2009, 10h00
  2. Nom de variable avec indice..
    Par polodu84 dans le forum MATLAB
    Réponses: 6
    Dernier message: 05/03/2008, 20h03
  3. [Débutant] Nom de variable avec des indices
    Par scraven dans le forum MATLAB
    Réponses: 4
    Dernier message: 24/04/2007, 21h02
  4. Nom composant javascript avec caractere speciaux ?
    Par beepmaster dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/12/2005, 14h19
  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