Id et getElementById
Id et getElementById
Bonjour,
je suis en train de m'échiner à comprendre comment fonctionne deux trucs :
- L'attibut Id dans un formulaire HTML
- La méthode getElementById() dans un script JS
Je crois comprendre que ces deux élements sont liés, le 2° utilisant le 1°
Un de vous peut-il me donner un exemple parlant de leurs utilisations
Merci
je suis en train de m'échiner à comprendre comment fonctionne deux trucs :
- L'attibut Id dans un formulaire HTML
- La méthode getElementById() dans un script JS
Je crois comprendre que ces deux élements sont liés, le 2° utilisant le 1°
Un de vous peut-il me donner un exemple parlant de leurs utilisations
Merci
+++++++++++++++++
Les ignorants ont des certitudes
Ceux qui savent n'ont que des doutes
Les ignorants ont des certitudes
Ceux qui savent n'ont que des doutes
Un identifiant est par définition unique dans un contexte donné (ici, le document HTML).
Tu peux donc identifier des éléments HTML de ton document en leur assignant un attribut id dans la structure de ton document.
La méthode getElementById() ne fait rien d'autre que ce que son nom indique, elle te permet de récupèrer un élément de ton document par son identifiant (donné par son attribut id).
je n'ai pas compris ta référence aux formulaires HTML, tu peux préciser ?
Tu peux donc identifier des éléments HTML de ton document en leur assignant un attribut id dans la structure de ton document.
La méthode getElementById() ne fait rien d'autre que ce que son nom indique, elle te permet de récupèrer un élément de ton document par son identifiant (donné par son attribut id).
je n'ai pas compris ta référence aux formulaires HTML, tu peux préciser ?
« La vie d’un geek est un combat perpétuel contre l’imperfection »
L'attribut ID peut s'appliquer à n'importe quel élément d'une page, pas seulement un champ de formulaire. Il permet simplement de l'identifier de manière unique dans le document, afin de lui appliquer un style particulier ou d'y renvoyer un lien interne. De plus, si c'est un champ de formulaire, il correspondra au nom de variable renvoyé au serveur.
La méthode getElementById() permet d'avoir accès au "nœud" de l'élément dans l'arbre DOM (une fois celui-ci construit), ce qui peut être bien pratique lorsqu'on veut en changer certaines propriétés dynamiquement (apparence, visibilité, contenu, ...).
La méthode getElementById() permet d'avoir accès au "nœud" de l'élément dans l'arbre DOM (une fois celui-ci construit), ce qui peut être bien pratique lorsqu'on veut en changer certaines propriétés dynamiquement (apparence, visibilité, contenu, ...).
Surtout pas! L'attribut id ne remplace pas l'attribut name dans le cas des commandes de formulaire. Une commande ne comportant pas d'attribut name ne verra jamais sa paire name/value passée dans les données envoyées coté serveur (et pour cause, puisqu'il n'y a alors pas d'attribut name).Benoit a écrit :De plus, si c'est un champ de formulaire, il correspondra au nom de variable renvoyé au serveur.
« La vie d’un geek est un combat perpétuel contre l’imperfection »
Ah oui oups je pensais aux qu'on voyait souvent mais c'est vrai que les champs de formulaires doivent toujours avoir un nom.
La question porte peut-être sur l'existence de plusieurs formulaires portant les mêmes champs dans la page et l'identification de l'un d'eux via son ID ?
Code : Tout sélectionner
<a name="machin"></a>
La question porte peut-être sur l'existence de plusieurs formulaires portant les mêmes champs dans la page et l'identification de l'un d'eux via son ID ?
Bonjour,
En fait, je crois me souvenir d'une page de formulaire ainsi bâtie :
=======================
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<SCRIPT LANGUAGE="JavaScript">
function trier() {
for (ix=1;ix<=4;ix++){
instructions
gnagnagna getElementById()
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formu" ACTION="http://www.domaine.com/" METHOD=POST>
<INPUT TYPE="text" NAME="article" id=1 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=2 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=3 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=4 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="button" VALUE="Valider" onClick=trier()>
</FORM>
</BODY>
</HTML>
en fait j'essaaie d'apprendre à me servir de ces instructions, à très bas niveau, car ma console JS JS me lance un avertissement :
Avertissement : Élément référencé par son ID/NAME dans le contexte global. Utilisez la propriété standard du W3C document.getElementById() à la place.
Fichier Source : file:///D|/Mes%20documents/Mes%20sites%20Internet/la.mirandole/brouillons/TESTER-ident-browser.html
Ligne : 10
Vous comprendrez que je suis assez loin des notions de "avoir accès au "nœud" de l'élément dans l'arbre DOM" dont parle Benoit
J'essaie de comprendre, voilà tout
La vie est dure pour les neuneux
Merci
En fait, je crois me souvenir d'une page de formulaire ainsi bâtie :
=======================
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<SCRIPT LANGUAGE="JavaScript">
function trier() {
for (ix=1;ix<=4;ix++){
instructions
gnagnagna getElementById()
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formu" ACTION="http://www.domaine.com/" METHOD=POST>
<INPUT TYPE="text" NAME="article" id=1 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=2 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=3 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=4 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="button" VALUE="Valider" onClick=trier()>
</FORM>
</BODY>
</HTML>
en fait j'essaaie d'apprendre à me servir de ces instructions, à très bas niveau, car ma console JS JS me lance un avertissement :
Avertissement : Élément référencé par son ID/NAME dans le contexte global. Utilisez la propriété standard du W3C document.getElementById() à la place.
Fichier Source : file:///D|/Mes%20documents/Mes%20sites%20Internet/la.mirandole/brouillons/TESTER-ident-browser.html
Ligne : 10
Vous comprendrez que je suis assez loin des notions de "avoir accès au "nœud" de l'élément dans l'arbre DOM" dont parle Benoit
J'essaie de comprendre, voilà tout
La vie est dure pour les neuneux
Merci
+++++++++++++++++
Les ignorants ont des certitudes
Ceux qui savent n'ont que des doutes
Les ignorants ont des certitudes
Ceux qui savent n'ont que des doutes
-
- Lézard vert
- Messages : 194
- Inscription : 13 nov. 2004, 08:54
Bonjour Veevee
remplace getElementById() par document.getElementById(i)veevee a écrit :<SCRIPT LANGUAGE="JavaScript">
function trier() {
for (ix=1;ix<=4;ix++){
instructions
gnagnagna getElementById()
}
Dans l'exemple les 4 INPUT TYPE="text" doivent avoir des NAME tous différents pour récupérer les différentes valeurs saisies et id doit être une chaîne de caractères... Donc ici id="1", etc...veevee a écrit :<FORM NAME="formu" ACTION="http://www.domaine.com/" METHOD=POST>
<INPUT TYPE="text" NAME="article" id=1 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=2 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=3 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="text" NAME="article" id=4 SIZE=40 MAXLENGTH=40>
<INPUT TYPE="button" VALUE="Valider" onClick=trier()>
Bienheureux les fêlés car ils laissent passer la lumière...
-
- Lézard vert
- Messages : 194
- Inscription : 13 nov. 2004, 08:54
autant pour moi... (ou "au temps pour moi" comme je l'ai lu ici ou là)pascal a écrit :avec un bémol, il est interdit d'avoir une id commençant par un chiffre, donc ici il y a une erreur de syntaxe html.
Pour Veevee, exemple d'utilisation du getElementById...
Supposons que quelque part j'ai un <div id="bulle"> (...) </div>
alors...
...document.getElementById("bulle").style.visibility="visible"; permet de rendre visible le bloc identifié "bulle"
...document.getElementById("bulle").style.visibility="hidden"; fait l'inverse, il le cache
Bienheureux les fêlés car ils laissent passer la lumière...
-
- Lézard vert
- Messages : 194
- Inscription : 13 nov. 2004, 08:54
Je suppose que celà doit venir des fanfares où le fautif doit se recaler sur le temps (=tempo)... mais je suis HS sur ce coup ! Pardon VeeVeenomade a écrit :[HS]C'est bien "au temps pour moi", aussi bizarre que ça puisse paraîtreMirovinben a écrit :autant pour moi... (ou "au temps pour moi" comme je l'ai lu ici ou là)
[/HS]

Bienheureux les fêlés car ils laissent passer la lumière...
"[resolu]"
Bonjour,
vous êtes des gros mauvais
Autan c'est un vent, qui soufle E-W sur le seuil de Naurouze, même que ça rend les gens fous
J'en suis la preuve vivante
Trêve de billevesées :
Je jongle comme un fou avec Id et get machin
Les conseils zavisés des gros mauvais dont auxquels... ont servi à quelque chose
Soyez en remerciés
[
vous êtes des gros mauvais
Autan c'est un vent, qui soufle E-W sur le seuil de Naurouze, même que ça rend les gens fous

J'en suis la preuve vivante

Trêve de billevesées :
Je jongle comme un fou avec Id et get machin
Les conseils zavisés des gros mauvais dont auxquels... ont servi à quelque chose
Soyez en remerciés
[
+++++++++++++++++
Les ignorants ont des certitudes
Ceux qui savent n'ont que des doutes
Les ignorants ont des certitudes
Ceux qui savent n'ont que des doutes
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités