|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Bonsoir,
je voudrais récupérer le champ sélectionné initial d'un select pour effectuer une init. Pour clarifier mon besoin, voilà ce que j'ai fait (mais qui ne marche pas)(comme je suis dans un script js, tout le html est encapsulé par des document.write) : Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Bonsoir,
Dans ton appel à la fonction action1(dernière ligne) tu passe comme paramètre une chaine de caractère. Dans l'appel de cette même fonction sur l'évènement onchange du select, tu passe 'this', qui est une référence à l'élément du DOM qui représente le select. Il faut utiliser : https://developer.mozilla.org/fr/DOM...getElementById (qui est la fonction la plus utilisée pour manipuler le DOM) |
|
|
00
|
|
|
#3 | |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
C'est moi qui comprend mal, ou bien il est sous-entendu que tu es obligé d'utiliser cette aberration ? Je me demande si c'est vraiment bon pour ma santé mentale de te demander pourquoi tu traines des document.write au 21ème siècle... ![]() Tu es allergique au DOM ? ^^ (y'en a. )
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
|
00
|
|
|
#4 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
C'est sans aucun doute de l'allergie... peut être au DOM, mais je crois que c'est surtout aux docs !
|
|
|
00
|
|
|
#5 | |||||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Citation:
j'essaie de me soigner et comme doc, vu que j'aime beaucoup les exemples, j'essaie de m'inspirer de ton code Nadox, et la plupart des document.write sont désormais commentés, mais les 2 div ont disparus (plus de select ni de flowplayer). Qu'est-ce qui ne va pas dans ce code : Code :
Code :
|
|||||
|
|
00
|
|
|
#6 | ||
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
ton élément 'table' n'est jamais rajouté dans le DOM.
Tu créé bien tout tes éléments, mais il faut aussi les injecter(appendChild) dans le DOM à la fin. Pour cela, tu peux utiliser Code javascript :
document.getElementById("conteneur").appendChild(table); Code :
|
||
|
|
00
|
|
|
#7 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Je viens de rajouter la ligne
Code javascript :
document.getElementById("div-corps").appendChild(table); |
|
|
00
|
|
|
#8 | |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
)Et que dit le DOM Inspector ? Comment ??? Pas installé cet outil ?
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
|
00
|
|
|
#9 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
... Il faut que la div existe dans le DOM pour faire ça...
Mais pourquoi ne pas passer this.value dans le onchange, et ensuite appeler action1 avec tab[0] ? |
|
|
00
|
|
|
#10 | ||||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Citation:
Citation:
Code javascript :
|
||||
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
>>> Voilà. ^^
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
00
|
|
|
#12 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Ça revient au même, puisque document.createElement ne positionne pas le nouvel élément dans la page...
Je crois me souvenir que tu es sur ie, donc tu as les outils de développement pour remplacer le DOM inspector. |
|
|
00
|
|
|
#13 | |||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Citation:
Code javascript :
|
|||
|
|
00
|
|
|
#14 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
Ben les deux premières lignes font la création de la div sans l'ajouter dans le document. Les deux autres lignes essayent de récupérer la div qui n'est toujours pas dans le document...
|
|
|
00
|
|
|
#15 |
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
D'accord, mais dans ce cas, comment l'insérer dans le DOM vu qu'elle n'aura probablement pas de conteneur (donc appendchild impossible) ?
|
|
|
00
|
|
|
#16 | |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Citation:
et <body> ?
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
|
00
|
|
|
#17 |
|
Membre expérimenté
![]() Développeur Inscription : février 2010 Messages : 360 ![]() |
De mémoire, tu avais une div avec l'id "div-contenu qui permettrais de l'insérer en dessous du bandeau. (avec insertBefore)
|
|
|
00
|
|
|
#18 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
toujours pas :
Code javascript :
|
||
|
|
00
|
|
|
#19 |
|
Expert Confirmé Sénior
![]() Romain VALERIPOOête Inscription : avril 2008 Messages : 2 572 ![]() |
Code javascript :
document.appendchild(corps); ![]() Mieux : Code javascript :
document.body.appendChild(corps);
__________________
...pour les linguistes et les curieux >>> générateur de phrases aléatoires __________________ |
|
|
00
|
|
|
#20 | ||
|
Débutant
Laurent Webmaster Inscription : octobre 2006 Messages : 2 873 ![]() |
Merci pour la correction de ce bug de débutant, mais il y en a d'autres. Si j'ai pû tout faire marcher avec mon code pourri plein de document.write, ici, je n'ai ni select (côté div parent) ni flowplayer (côté div fille).
Le code complet de création du DOM : Code javascript :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com