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 :

intervenir sur un champ texte à partir du name et de l'ID


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut intervenir sur un champ texte à partir du name et de l'ID
    bonjour tlm,
    dans ma page j'ai des champs cachés qui sont déclaré de cette manière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="hidden" name="CODDON" id=1 value="toto">
    <input type="hidden" name="CODDON" id=2 value="tata">
    <input type="hidden" name="CODDON" id=3 value="titi">
    à partir de javascript je voudrai pouvoir modifier ou récupérer la valeur de ces champs en me basant sur le name et l'id en même temps!

    Est ce possible?

    j'ai déjà essayer avec getElementById() et getElementByName() mais ces deux methodes ne peuvent pas être cumulé.

    merci d'avance

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par typikal Voir le message
    j'ai déjà essayer avec getElementById() et getElementByName() mais ces deux methodes ne peuvent pas être cumulé.
    Il s'agit de deux méthodes d'accès différentes.
    Il ne sert à rien de les cumulée, et ce n'est de toutes façons syntaxiquement pas possible ...
    getElementsByName() retourne un tableau d'éléments (car comme dans ton exemple, un name peut être partagé par plusieurs objets), alors que getElementById() retourne un objet unique (aussi unique que l'id lui même).

    Pourquoi penses-tu avoir besoin de "mélanger" ces 2 synthaxes ?

    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    ok
    en fait j'avais mal compris le fonctionnement de getElementsByName() je pensais qu'il retournait un objet unique comme getElementById().
    mais s'il retourne un tableau d'éléments je suppose qu'il y aura les différentes valeur de mes champs CODDON!!?

    merci pour cette info (j'ai pas correctement lu l'utilisation de getElementsByName())


    Pourquoi penses-tu avoir besoin de "mélanger" ces 2 synthaxes ?
    je pensais que dans ce types de cas, que j'étais obligé de préciser le name et l'id de mon champ pour pouvoir récupérer ou modifier sa valeur.

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par typikal Voir le message
    je pensais que dans ce types de cas, que j'étais obligé de préciser le name et l'id de mon champ pour pouvoir récupérer ou modifier sa valeur.
    Un petit exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    alert(document.getElementsByName('CODDON')[0].value);
    alert(document.getElementById('1').value);
    alert(document.getElementsByName('CODDON')[1].value);
    alert(document.getElementById('2').value);
    A+

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    ok
    c'est ce que je pensais après ton premier message

    merci beaucoup

    document.getElementById('1').value
    par contre, je ne pourrai pas utiliser cette methode car j'aurai plusieurs éléments avec un ID à 1

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par typikal Voir le message
    par contre, je ne pourrai pas utiliser cette methode car j'aurai plusieurs éléments avec un ID à 1
    Si, tu pourras utiliser cette méthode

    C'est tes ID qu'il faut corriger : chaque ID doit absolument toujours être unique dans la page.
    Sinon, ton code plantera à chaque accès à un ID dupliqué ...

    A+

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    hmm nop
    en fait dans ma page (page JSP) il y a plusieurs champs caché déclaré (ils sont généré de manière automatique par java) de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <input type="hidden" name="CODDON" id=1 value="toto">
    <input type="hidden" name="CODDON" id=2 value="tata">
    <input type="hidden" name="CODDON" id=3 value="titi">
    <input type="hidden" name="LIBDON" id=1 value="lib_toto">
    <input type="hidden" name="LIBDON" id=2 value="lib_tata">
    <input type="hidden" name="LIBDON" id=3 value="lib_titi">
    <input type="hidden" name="NUMDON" id=1 value="num_toto">
    <input type="hidden" name="NUMDON" id=2 value="num_tata">
    <input type="hidden" name="NUMDON" id=3 value="num_titi">
    Pour l'instant je n'ai pas de problème lors du traitement avec javascript en utilisant le code que tu m'a proposé (document.getElementsByName('CODDON')[0].value).

    j'ai rajouté ça :
    document.getElementsByName('LIBDON')[0].value
    document.getElementsByName('NUMDON')[0].value
    ......

    il y a pas de souci, j'ai de bon retour

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par typikal Voir le message
    il y a pas de souci, j'ai de bon retour
    C'est toi qui voit

    A bientôt, donc

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    merci pour ton aide

    à bientôt
    ++

  10. #10
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('1').value);
    ça passe toujours ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('1').value);
    ça marche mais il me retourne uniquement l'équivalent de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementsByName('CODDON')[1].value);
    c'est tjours la valeur CODDON qui est renvoyé si j'utilise document.getElementById('1').value, c'est pareil à chaque fois, quelque soit la valeur de l'ID

  12. #12
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par typikal Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('1').value);
    ça marche mais il me retourne uniquement l'équivalent de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementsByName('CODDON')[1].value);
    c'est tjours la valeur CODDON qui est renvoyé si j'utilise document.getElementById('1').value, c'est pareil à chaque fois, quelque soit la valeur de l'ID
    Donc, ça marche moyen

    Franchement, corrige tes ID pour qu'ils soient uniques : c'est une règle de base !

    Sinon, tu te retouveras rapidement avec pleins d'erreurs inexplicables (style ci-dessus) dès que tu retoucheras à ton code (d'où mon "A bientôt") ...

    A+

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    Donc, ça marche moyen

    Franchement, corrige tes ID pour qu'ils soient uniques : c'est une règle de base !

    Sinon, tu te retouveras rapidement avec pleins d'erreurs inexplicables (style ci-dessus) dès que tu retoucheras à ton code (d'où mon "A bientôt") ...

    lol
    je vois ce que tu veux dire mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementById('1').value);
    je n'utiliserai pas ce code je n'en ai pas besoin, il ne répond pas à mes besoins (dans ce cas précis)

    je suis obligé d'avoir des ID de même valeur pour la suite de mon traitement avec java, ça me permet de faire un lien entre le différent champ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <input type="hidden" name="CODDON" id=1 value="toto">
    <input type="hidden" name="LIBDON" id=1 value="lib_toto">
    <input type="hidden" name="NUMDON" id=1 value="num_toto">
    le code suivant me va très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(document.getElementsByName('CODDON')[1].value);

  14. #14
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par typikal Voir le message
    je suis obligé d'avoir des ID de même valeur pour la suite de mon traitement avec java,
    Ca m'étonnerait : ce fonctionnement n'est pas valide.

    Mais c'est toi qui est derrière le clavier ...

    Bon courage pour la suite

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    ok merci
    c'est pas valide mais apparement ça permet à l'intranet de tourné car ce n'est pas la seul page jsp qui utilise ce type de procédé.
    moi j'arrive sur le projet je vais pas tout révolutionné (j'ai pas trop envie non plus )

    je trouve bizzard que ce ne soit pas valide car c'est une bonne solution pour envoyer des tableaux (array, string[]...) avec un formulaire.

    si tu connais une autre solution pour envoyer un tableau via un formulaire, je ss prenneur.

    mais bon...je pense qu'avec les informations que tu m'as donné je pourrai continuer à avancer, dans le cas contraire je deposerai un petit message


  16. #16
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par typikal Voir le message
    je trouve bizzard que ce ne soit pas valide car c'est une bonne solution pour envoyer des tableaux (array, string[]...) avec un formulaire.
    Ah non, pas vraiment
    C'est le name qui est utilisé pour l'envoi d'infos avec le formulaire, pas l'ID (celui-ci ne sert qu'à accéder aux éléments de la page via le DOM) ...

    A+

  17. #17
    Membre averti Avatar de Bezout
    Profil pro
    Développement
    Inscrit en
    Septembre 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Développement

    Informations forums :
    Inscription : Septembre 2003
    Messages : 234
    Points : 305
    Points
    305
    Par défaut
    .....donc cet ID ce doit d'être UNIQUE

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    ok je vois
    pas besoin de l'id pour envoyer un tableau

    je vais reflechir serieusement à ce que vous dites...
    mais même pour mon traitement avec javascript c'est plus simple comme ça...
    enfin je vais essayer de respecter cette règle...

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    j'ai compris maintenant
    un id doit tjours être unique sinon ça n'a pas trop d'interret
    j'avais fais un mic mac dans l'analyse de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="CODDON" id=1 value="toto">
    enfin bref.....

    Merci

    ++

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/09/2011, 15h52
  2. Désactiver un champ texte à partir d'un liste déroulante
    Par illegalsene dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/05/2006, 14h40
  3. requete sur un champs text
    Par sam01 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/03/2006, 13h41
  4. Probleme d'UPDATE sur un champ text
    Par Nip dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/07/2005, 11h35
  5. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15

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