|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre du Club
![]() Inscription : avril 2008 Messages : 245 ![]() |
Bonjour,
Tout d'abord désolé si je ne suis pas dans le bon sujet. Ensuite, J'ai un tableau par défaut avec 3 lignes. J'ai créé un bouton qui en créé 2 (car la derniere cellule est fusionnée). Tout marche bien, sauf quand j'essaye d'en supprimer, je galère je n'y arrive pas. Voici mon code HTML du tableau : Code :
Code :
<input type="button" onclick="javascript:AddRow('MyTAB','0');" value="+" style="font-size:28px;font-weight:bolder;font-family:verdana;" title="Rajouter une ligne" /> Code :
J'ai testé ceci : Code :
Quelqu'un peut m'aider svp ? Merci Ju' |
||||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
Bonsoir,
pas mal d'erreur dans ce que je viens de lire Code :
- Pourquoi ne pas utiliser les méthode inserCell, deleteCell, insertRow, deleteRow - Pourquoi ne pas utiliser les collections rows des TABLEs et cells des TRs Tu peux même utiliser la méthode cloneNode... Je pense que tu y verrais plus clair |
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : avril 2008 Messages : 245 ![]() |
Bonjour et merci de ta réponse !
Oui effectivement l'indice ne servait a rien je n'avais pas fait attention lors de mes dernieres modifs. J'en avais besoin au début car je génère des input (que j'ai enlevé volontairement pour vous présenter mon code, plus facile a lire pour vous) avec des ID mais en fait j'avais trouvé autre chose. Cela dit dans l'ajout de lignes tout marche très bien. Je débute un manipulation d'objets DOM et j'avoue que je galère. En fait il faudrait simplement que je récupère la dernière ligne du tableau et que je la supprime grâce, effectivement, à deleteRow. Mais, comment récupérer cette dernière ligne ? Merci |
|
|
00
|
|
|
#4 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 795 ![]() |
bonjour,
j'ai vu dans ton script des var td= et var tr=. Je te conseille d'éviter les variables avec un nom de balise HTML tu pourrais avoir de mauvaises surprises Ensuite j'ai remarqué un Code :
tableau = document.getElementById(tableau); Code :
var objetTableau = document.getElementById(tableau); Toujours dans les variables : il y a une chose dont j'ai horreur, qui me donnent des boutons c'est la déclaration de variables au milieu du code a fortiori dans des boucles !!!! Donc tu me sors ces déclarations de variables des boucles et tu me les mets au début de ta fonction !! ![]() Tu trouveras ici : http://www.developpez.net/forums/d33...u/#post2057900 un script complet d'ajout et suppression de lignes dans une table |
|
|
00
|
|
|
#5 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
ton soucis vient de ces lignes
Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre du Club
![]() Inscription : avril 2008 Messages : 245 ![]() |
Bonjour !
Merci Auteur pour le lien, mais j'aimerais bien trouver et surtout comprendre mon problème, surtout que je ne suis pas un grand fan du innerHTML. Effectivement la déclaration de mes variables a été faite à l'arrache, j'ai modifié NoSmoking, oui effectivement il me génère tout le temps un TBODY au lieu de me générer un TR c'est surement pour cela que je n'arrive pas a supprimer mes lignes. C'est IE qui me génère ça automatiquement, chrome me met "undefined" ... ça devrait être "tr" ... je comprends pas trop Voici le code complet de ma fonction d'ajout : Code :
|
||
|
|
00
|
|
|
#7 | |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 795 ![]() |
Citation:
|
|
|
|
00
|
|
|
#8 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 944 ![]() |
effectivement sur IE il faut ajouter la TR sur TBODY alors que les autres, laxistes sur ce coup, autorise l'ajout directement sur la TABLE.
Il est donc préférable de passer par insertRow, qui lui prend en charge les spécificités des navigateurs. Tu peux bien sûr récupérer le TBODY et lui ajouter la TR Code :
|
||
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : avril 2008 Messages : 245 ![]() |
Merci pour toutes ces aides précieuses, ça a résolu mon probleme ! =)
Bonne fin de journée Ju' |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com