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 :

Concaténer valeur variable


Sujet :

JavaScript

  1. #1
    Membre expérimenté Avatar de nebule
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 507
    Points : 1 464
    Points
    1 464
    Par défaut Concaténer valeur variable
    Bonjour,

    je fais un petit message car j'ai le même soucis que dans le post http://www.developpez.net/forums/showthread.php?t=51129. (mis en résolu donc j'en ouvre un autre).

    Dans mon code (dynamique en php) ca me donne des entrée comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="ligne[6]" value="toto">
    Donc dans le JS, il me faut faire quelque de dynamique pour tester tous les ligne[i].

    le javascript que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var j=1;
    alert("nom var : "+j);
    alert(document.limites2.ligne[j].value);
    Mon alert de j fonctionne impec mais pas le deuxième...

    Le formulaire s'apelle pourtant bien limites2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name="limites2" method="POST" action="valideLimites.php" onSubmit="return verif_formulaire()">
    Je comprends pas
    (\ _ /)
    (='.'=)
    (")-(")

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    la réponse est indiquée dans le post vers le quel tu fais un lien !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(var i = 0; i < nombre_de_input; ++i) alert(document.getElementByName("ligne["+i+"]").value);
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre expérimenté Avatar de nebule
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 507
    Points : 1 464
    Points
    1 464
    Par défaut
    Citation Envoyé par Swoög
    la réponse est indiquée dans le post vers le quel tu fais un lien !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(var i = 0; i < nombre_de_input; ++i) alert(document.getElementByName("ligne["+i+"]").value);
    Oui mais ca marche pô

    En fait, ca marche avec ça :
    var j=1;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert("test : "+document.limites2.eval("ligne"+j).value);
    Je sais pas trop pourquoi mais ca marche
    (\ _ /)
    (='.'=)
    (")-(")

  4. #4
    Membre expérimenté Avatar de nebule
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 507
    Points : 1 464
    Points
    1 464
    Par défaut
    re-Bonjour,

    En fait, soucis, car ca marche nickel sour Firefox mais pas sous IE et bien sur le client a besoin de IE

    Une idée ? Pourquoi le eval marche pas ?
    (\ _ /)
    (='.'=)
    (")-(")

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    parce que ton name contient des [] alors que ce qui est renvoyé par le eval non... ensuite c'est un choix : crochets ou pas crochets
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  6. #6
    Membre expérimenté Avatar de nebule
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 507
    Points : 1 464
    Points
    1 464
    Par défaut
    Citation Envoyé par Swoög
    parce que ton name contient des [] alors que ce qui est renvoyé par le eval non... ensuite c'est un choix : crochets ou pas crochets
    bah non, j'ai mis des sans crochets partout et sous Firefox aucuns soucis!
    J'ai vérifier, le code source généré à partir du php est bien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="ligne1" value="5.01.0.001">
    ...

    et le JS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var j=1;
    alert(document.limites2.eval("ligne"+j).value);
    (\ _ /)
    (='.'=)
    (")-(")

  7. #7
    Membre averti
    Profil pro
    à la bougie alors
    Inscrit en
    Mai 2006
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : à la bougie alors

    Informations forums :
    Inscription : Mai 2006
    Messages : 224
    Points : 362
    Points
    362
    Par défaut
    Vous pouvez essayer une des écritures suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    document.forms["limites2"].elements["ligne["+i+"]"].value
    document.forms["limites2"]["ligne["+i+"]"].value
    document.limites2["ligne["+i+"]"].value

  8. #8
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    dans ce cas, essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName("ligne"+j)[0].value
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  9. #9
    Membre expérimenté Avatar de nebule
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 507
    Points : 1 464
    Points
    1 464
    Par défaut
    Citation Envoyé par Swoög
    dans ce cas, essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName("ligne"+j)[0].value
    Génial ca marche!!!!

    Un grand merci.

    ps: j'ai toujours pas compris pourquoi ca marchait pas avec le eval sour IE.

    ps2 : pourquoi il fallait ajouter[0] ?
    (\ _ /)
    (='.'=)
    (")-(")

  10. #10
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    alors, le eval, c'est assez particulier... ça peut vouloir beaucoup et rien de choses, plutôt que de demander pourquoi ça marchait pas sous IE, je me demanderais (pour une fois ) pourquoi ça marchait sous FF ^^

    pour le [0], c'est parce que getElementsByName peut renvoyer plusieurs éléments : il est possible que plusieurs élément ait le même name (boutons radio, name en nom[] (sans valeur dans les crochets) etc...) et dans ce cas, getElementsByName renvoie un tableau contenant tout ces contrôles...

    Ici, tu n'as qu'un seul élément ayant ce name, donc tu es sûr que c'est le premier élément du tableau, d'où [0] je l'avais d'ailleurs oublié la première fois que je t'ai donné le code ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  11. #11
    Membre expérimenté Avatar de nebule
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 507
    Points : 1 464
    Points
    1 464
    Par défaut
    Et bien un grand merci pour ces explications, je me coucherai moins bête ce soir comme on dit

    Bonne journée,
    Marie
    (\ _ /)
    (='.'=)
    (")-(")

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

Discussions similaires

  1. Concaténation de variables contenant des valeurs manquantes
    Par Lilouche52 dans le forum SAS Base
    Réponses: 9
    Dernier message: 01/06/2011, 14h26
  2. [SQL] Concaténation de variables
    Par dogi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/11/2005, 20h49
  3. [Reflection] valeur variable
    Par hocinema dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 30/09/2005, 12h41
  4. Array à valeur variables
    Par klipfel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/12/2004, 16h22
  5. Concaténer deux variables ?
    Par glsn dans le forum ASP
    Réponses: 2
    Dernier message: 19/12/2003, 13h53

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