Comment fonctionne ElementById et onChange [Résolu]

Signaler
Messages postés
6
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour, je suis débutant et cherche voir comment fonctionne certaine methode.


J'ai cherché sur le site un forum m'expliquant simplement comment utiliser :

- ElementById

- Onchange


dans le cadre d'une application simple.


Je cherche juste a appliquer les deux dans un tableau a deux cases.


" La première case du tableau etant une liste ( select ) deroulante. En
fonction du choix, la valeur de la deuxième case change automatiquement
( sans cliquer sur un bouton ). "


Quelqu'un pourrait m'aider ? Je sais que la question doit être redondante mais je n'ai trouvé de réponse.

14 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
prend komodo edit par exemple
( j'usais de notepad++, mais il a quelques soucis actuellement,
  passagers je suis sûr, mais enn attendant ! )

<select  onchange="document.getElementById('truc').value= this.options[this.selectedIndex].value;">

car on voyait( avec notepad ) :
<select  onchange="document.getElementById("truc").value= this.options[this.selectedIndex].value">

[mon Site][M'écrire]Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
bonjour,

>>J'ai cherché sur le site un forum
c'est peut-être mieux avec un doc ?
perso j'use de selfHTML, en français, gratis,
        téléchargeable, version html/chm....
        pas complète, mais aucune ne l'est !

>- ElementById
   ça n'existe pas
   peut-être parles-tu de getElementById ?
   dans ce cas, c'est s'adresser à un élément du html s'il possède un ID

- Onchange
  c'est un évènement lié à un élément du html
  lorsqu'on change le contenu de cet élément, les ordres javascript
                décrits dans le onchange sont exécutés.

la suite... je n'ai pas compris ce que tu veux dire ni quel  est ton souci
peut-être parles-tu d'un select sans size, et donc sa 1ère option
est sélectionnée par défaut. pour déclenché le onchonge, il faut
d'abord cliquer sur une autre ligne !
solution ? _ mettre un size>1
               _ dès que le select a le focus mettre son selectedIndex à -1
              _ mettre une 1ère option bidon ( un titre ? )
                 et ne pas gérer l'option 0
              _ ....
Cordialement

          [mon Site] [M'écrire] Bul         
Messages postés
6
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009

Merci pour la doc, je pense trouver beaucoup d'aide dedans.

Pour ce que je veux faire:

<tr>
<TD> <select  onchange=" ??">
<option value="choix" selected> choix < /option>
<option value="oui"> oui </option>
<option value="non"> non </option>
</select>
</td>

<td> </td>

je veux ecrire automatiquement dans le input YES si on choisit l'option oui et NO si on choisit l'option oui via la liste. Afin de comprendre la base et le mécanisme de onchange et par la même occasion de getElementById.

Cela est plus compréhensible ?
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
et ben....    fais l !

met un id à ta balise "input text", tu pourras t'y référer avec getElementById
onchange : this.selectedIndex c'est le n° de l'option sélectionnée
               this.options[n° de l'option voulue].text ou .value c'est le text ou le .value
                     de l'option voulue
              ( je marque this, c'est si le javascript est mis directement dans la balise
                sinon.. tu devrais savoir le faire )

          [mon Site] [M'écrire] Bul       
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
de plus, ne rien voir dans la cellule, ne signifie pas que sa taille = 0
elle peut contenir 2 espaces, voire 2 caractères non affichables
[mon Site][M'écrire]Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
oublier le dernier message, je m'a gouré de lieu  ;o(
[mon Site][M'écrire]Bul
Messages postés
6
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009

Je suis nul !!

Mais non j'y arrive toujours pas. J'ai toujours pas compris le mécanisme de Onchange.

Voila mon code :

"<html>

<head><title>Test</title>
</head>

<tr>
<TD> <select  onchange="document.getElementById("truc").value= this.options[this.selectedIndex].value">
<option value="choix" selected> choix </option>
<option value="yes"> oui </option>
<option value="no"> non </option>
</select>
</td>

<td> </td>

</html>

"

Ou est l'erreur ?? Pourquoi le onchange de renvois pas la valeur de l'option dans le input ??

Merci d'avance.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
1° si tu utilisais un éditeur de texte avec coloration
   syntaxique, tu verrais l'erreur immédiatement

2° déboguer est possible  :
Navigateurs |Quelques Expplications |----
Chrome
, contrôler page actuelle / Options pour développeurs
/ Console Javascript, ----
FireFox
, Outils / Console d'erreurs
et mieux : télécharger mon Site][M'écrire]Bul
Messages postés
6
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009

J'utilise jedit qui colore le ligne de code ( mais n'indique pas les erreurs ). De plus j'ai firebug mais je n'arrive pas de comprendre comment il fonctionne.

Comme tu peux le voir je débute et n'ai pas encore les bons automatismes.

J'arrive toujours pas a faire ce que je veux ... Et pourtant c'est le béaba de onchange.
Messages postés
6
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009

MDR ... Avec notepad ou komodo je pourrais voir ce type d'erreur ??

En tout cas merci de ta patience et de ton aide.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
MDR ? ça veut dire quoi ? que tu es Mort De Rire ?
je ne vois pas pourquoi, je ne vois pas où j'ai prêté à rire ???
quand aux outils, mon foie, tu utilises ceux qui te conviennent.
Mais tu ne parlais pas de FireFox ? regarde la console
d'erreurs au moins, : tout est dit, ou presque, je pense,
en étant mort de rire à mon tour : si ce n'est pas
le cas, teste avec un autre navigateur ;o)))
[mon Site][M'écrire]Bul
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
et aussi... fais comme je te montre..
ça fonctionne.
[mon Site][M'écrire]Bul
Messages postés
6
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
4 février 2009

Merci de l'aide ça fonctionne très bien...

Pour la console de firefox je n'ai pas encore compris tout son foonctionnement.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
9
Outils / conSole d'erreurs
ça te donne le libellé de l'erreur, la ligne...
et, regarde le tableau de la 1ère page qui cause deboggage
[mon Site][M'écrire]Bul