A voir également:
- Problème avec l'execution d'une fonction personnalisée
- Fonction si et - Guide
- Sonnerie personnalisée android - Guide
- Comment faire une bordure de page personnalisée sur word - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
1 réponse
Bonjour
Tu accèdes à certains de tes éléments grâce à leur id (getElementById) et à d'autres par le nom du tag (getElementsByTagName). Tu as le droit, mais...
Ça ne t'a pas frappé que dans la première fonction, il n'y a pas de 's' au mot Element, alors qu'il y en a un dans la deuxième fonction ?
C'est que l'id d'un élément est unique : il y a donc obligatoirement un seul élément qui a un id donné. La fonction getElementById te rend cet élément, celui qui a cet id (ou le premier si tu as eu la mauvaise idée d'utiliser plusieurs fois le même id)
Par contre, tu peux très bien plusieurs éléments qui ont le même tag, c'est même le cas le plus souvent. La fonction getElementsByTagName ne rend donc pas un élément, mais un tableau (Array) d'éléments. Même si parfois ce tableau peut contenir un seul, voire aucun élément.
Dans ton cas, la variable "formulaire" contient donc un tableau, et non pas un élément. Et un Array javascript n'a pas de style, donc formulaire.style n'est pas défini.
Par contre, formulaire[0], formulaire[1]... sont des éléments (si tu as plusieurs formulaires) et formulaire[0].style serait correct.
Mais le plus simple est de définir un id pour ton formulaire aussi, et d'utiliser getElementById, ce qui élimine toute ambiguïté.
Tu accèdes à certains de tes éléments grâce à leur id (getElementById) et à d'autres par le nom du tag (getElementsByTagName). Tu as le droit, mais...
Ça ne t'a pas frappé que dans la première fonction, il n'y a pas de 's' au mot Element, alors qu'il y en a un dans la deuxième fonction ?
C'est que l'id d'un élément est unique : il y a donc obligatoirement un seul élément qui a un id donné. La fonction getElementById te rend cet élément, celui qui a cet id (ou le premier si tu as eu la mauvaise idée d'utiliser plusieurs fois le même id)
Par contre, tu peux très bien plusieurs éléments qui ont le même tag, c'est même le cas le plus souvent. La fonction getElementsByTagName ne rend donc pas un élément, mais un tableau (Array) d'éléments. Même si parfois ce tableau peut contenir un seul, voire aucun élément.
Dans ton cas, la variable "formulaire" contient donc un tableau, et non pas un élément. Et un Array javascript n'a pas de style, donc formulaire.style n'est pas défini.
Par contre, formulaire[0], formulaire[1]... sont des éléments (si tu as plusieurs formulaires) et formulaire[0].style serait correct.
Mais le plus simple est de définir un id pour ton formulaire aussi, et d'utiliser getElementById, ce qui élimine toute ambiguïté.
theclemmm
Messages postés
71
Date d'inscription
Statut
Membre
Dernière intervention
35
Merci de ta réponse, je vais m'atteler au travail pour voir si sa marche.