Parametre de getElementById [Résolu]

Messages postés
89
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
16 juin 2008
- - Dernière réponse : lucky82
Messages postés
89
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
16 juin 2008
- 18 avril 2007 à 16:38
Bonjour,
Je voudrais savoir si la fonction getElementById peut prendre un tableau comme parametre.(avec exemple si c'est possible).
Merci
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
3
Merci
un ID doit être unique dans une page...
par contre rien n'empêche de "boucler"
ch'tit exemple :

   
   
   
    <script type= "text/javascript">
        var n=1;
        while ( document.getElementById("chp"+n) )
        {
            alert(document.getElementById("chp"+n).value);
            n++;
        }
    </script>

    ou utiliser document. name du formulaire .chp1[n]

<hr />


Cordialement    Bul     [mon Site]     [=Bul M'écrire]



<hr />

Merci cs_bultez 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
3
Merci
<script type="text/javascript">
        n=1;
        while ( document.getElementById("chp["+n+"]") )
        {
         alert(document.getElementById("chp["+n+"]").value);
            n++;
      }

</script>

mais pourquoi donc un ID de ce style ?

ou

<form name="frm">
   
   
   
</form>
<script type="text/javascript">
        for ( var n=0;n<frm.chp1.length;n++ )
        {
             alert(document.frm.chp1[n].value);
         }      
</script>

OU.....

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />

Merci cs_bultez 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
0
Merci
Bonjour,

    getElementById :     Accède, conformément à la variante HTML du modèle DOM,
                                       à un élément HTML qui
possède un attribut
id
.

    alors si la question c'est accéder à un tableau : oui, il suffit que ce tableau possède un id
    si c'est utiliser getElementById(["id1","id2"...] ) ben, non,
                                la question : quel serait le but ?




<hr />



Cordialement        Bul     [mon Site]     [M'écrire]



<hr />
Commenter la réponse de cs_bultez
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
0
Merci
Bonjour




Question : par tableau, tu entends un élément HTML "table" défini par <table> ou un tableau javascript défini par Array() ?

Cordialement
Roro06
Commenter la réponse de cs_roro06
Messages postés
89
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
16 juin 2008
0
Merci
En fait, ma quetion est:
puisque getElementById  accede à un élément HTML qui possède un attribut
id, est ce que cet attribut(id) peut etre un array (et non pas <table>);
par exemple :

et du coup, si on appelle la fonction getElementById   on met un array (chp[]) comme parametre...
Commenter la réponse de lucky82
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
0
Merci
Bonjour




non.
getElementById est une méthode de l'objet document. Par conséquent, il permet d'accéder, comme son non l'indique, aux éléments HTML contenu dans document (le body de la page HTML), mais pas à un objet javascript. Encore faut-il que l'élément en question possède un id.

Cordialement
Roro06
Commenter la réponse de cs_roro06
Messages postés
89
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
16 juin 2008
0
Merci
E_________xact, c'est ce que je cherche " bultez"  Merciiiii.
Commenter la réponse de lucky82
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
0
Merci
Bonjour




par contre, présenté comme ça, tu accéderas à ton input par document.getElementById("chp[]")

Il est par contre possible d'accéder à un tableau d'éléments par document.getElementsByName().

En toute rigueur, au sein d'une page HTML, tu peux avoir plusieurs éléments portant le même name, mais un id devrait être unique.

exemple :

tu peux accéder au deuxième input soit par document.getElementById("inp2"), soit par document.getElementsByName("inp")[1]

remarques :
1/ ça s'écrit getElementsByName : le s indique bien une collection.
2/ la notation
document.getElementsByName("inp")[1] se rapproche de la définition d'un tableau javascript





Cordialement
Roro06
Commenter la réponse de cs_roro06
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Dernière intervention
29 octobre 2007
0
Merci
Bonjour




oops on s'est croisé

Cordialement
Roro06
Commenter la réponse de cs_roro06
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Dernière intervention
15 octobre 2013
0
Merci
    ou alors... c'est peut-être le but ?
    mettre les ID dans un array. et boucler sur cet array ?

   
  
   
    <script type="text/javascript">
        var nom=["un","deux","trois"];
        for ( var n=0;n<nom.length;n++ )
        {
            alert(document.getElementById(nom[n]).value);
        }
    </script>

<hr />


Cordialement        Bul     [mon Site]     [M'écrire]



<hr />
Commenter la réponse de cs_bultez
Messages postés
89
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
16 juin 2008
0
Merci
Si, en fait, j'aimerai mettre l'id comme étant un array et ainsi pouvoir le récupérer dans le scriptjava, je dois faire donc comme ça:

<script type="text/javascript">

        for ( var n=0;n<document.getElementById(nom).length;n++ ){
            alert(document.getElementById(nom[n]).value);
        }

    </script>

??
Commenter la réponse de lucky82
Messages postés
89
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
16 juin 2008
0
Merci
Impeccable!

Oui, en fait j'ai besoin de faire une fonction en javascript qui fait tous les tests possibles sur n'importe quel formulaire désigné en paramètres (avec des IF (champsX) FAIRE .....).
Donc puisque j'ai beaucoups de formulaires dont les noms ont été utilisé pour d'autres besoins et puisqu'il y a des textfield qui doivent être numériques mais qui changent de nom selon la page, j'ai pensé à utiliser l'attribut id en lui attribuant nom de tableau fixe dans toutes les pages (sur lequel je ferai le test d'existence dans le sciprt java), ainsi je me souci pas de savoir combien existe-t-il de textfield numériques dans un formulaire donné...

Mile merci à tous. 
Commenter la réponse de lucky82

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.