|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Responsable de projet fonctionnel Inscription : mars 2006 Messages : 41 ![]() |
Bonjour,
je souhaite créer un tableau ayant un nombre de ligne non défini au départ : je créer par exemple un tableau avec 3 lignes, en dessous j'ai un bouton pour ajouter une ligne à la fin et sur chaque ligne j'ai un bouton permettant de supprimer celle-ci. Le souci est : comment supprimer les lignes? Si je génére mon code javascript, le onClick revient à mettre un deleteRow sur mon tableau avec le numéro de ligne mais si j'ai 5 lignes, j'aurais un truc comme ça : ligne1 (bouton supprimer ligne1) ligne2 (bouton supprimer ligne2) ligne3 (bouton supprimer ligne3) ligne4 (bouton supprimer ligne4) ligne5 (bouton supprimer ligne5) Imaginons que l'utilisateur clique pour supprimer la ligne 3, j'aurais ceci après la suppression : ligne1 (bouton supprimer ligne1) ligne2 (bouton supprimer ligne2) ligne3 (bouton supprimer ligne4) ligne4 (bouton supprimer ligne5) Donc si l'utilisateru veut ensuite supprimer la 3eme ligne, ça lui supprimera la 4eme et s'il veut supprimer la 4eme, ça génèrera une erreur... Comment faire donc ? Il doit y avoir une astuce, j'imagine ne pas être le premier à faire ça... Après je voudrais bouger mes lignes mais ça sera peut-être plus simple, je ne me suis pas encore penché sur la question... |
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 019 ![]() |
la réponse est dans this
Code :
onclick="this.parentNode.removeChild(this)"
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Responsable de projet fonctionnel Inscription : mars 2006 Messages : 41 ![]() |
effectivement ce n'est pas bête...
|
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Responsable de projet fonctionnel Inscription : mars 2006 Messages : 41 ![]() |
mais ça ne supprime que la cellule contenant le bouton de suppression, et non la ligne comme désiré...
|
|
|
00
|
|
|
#5 | |
![]() ![]() Inscription : janvier 2011 Messages : 2 939 ![]() |
Bonjour,
Citation:
Code :
onclick="this.parentNode.parentNode.removeChild(this)" |
|
|
|
00
|
|
|
#6 | ||
|
Futur Membre du Club
![]() Responsable de projet fonctionnel Inscription : mars 2006 Messages : 41 ![]() |
ça ne fonctionne pas non plus : j'ai l'erreur suivante "Erreur*: uncaught exception: [Exception... "Node was not found" code: "8" nsresult: "0x80530008 (NS_ERROR_DOM_NOT_FOUND_ERR)" location: ".../My%20Documents/test.html Line: 1"]" dans ma console d'erreur de FF.
Je mets mon code au cas où : Code :
|
||
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : janvier 2011 Messages : 2 939 ![]() |
réponse un peu rapide, sans vraiment avoir compris le soucis.
L'erreur est normale le this n'appartient pas au parentNode -2, vu le niveau d'imbrication il te faut écrire Code :
<a onclick="this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)">Suppr.<a> |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() danseur Inscription : août 2003 Messages : 2 667 ![]() |
colle des id avec un repère numérique à tes < tr > et < a >, ça évitera les commandes rocambolesques pour supprimer une ligne;
__________________
On ne mord pas, on manifeste seulement notre tristesse face à des exposés de situations qui défient notre entendement binaire. |
|
|
00
|
|
|
#9 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 794 ![]() |
|
|
|
00
|
|
|
#10 | ||
|
Futur Membre du Club
![]() Responsable de projet fonctionnel Inscription : mars 2006 Messages : 41 ![]() |
Merci cool, j'ai écrit mon code comme ça du coup, la fonction numerotation pourra être réutilisée lors de mon ajout de ligne :
Code :
|
||
|
|
00
|
|
|
#11 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 939 ![]() |
Citation:
la propriété rowIndex est fluctuante, si tu supprimes une ligne ayant pour rowIndex 4, par exemple, la ligne suivante prendra sa place donc son rowIndex, tu risques donc de te trouver avec des ID identiques. Concernant la suppression de la ligne, il faut faire plus générique pour éviter que si par mégarde tu insères un conteneur autour du lien il ne te faille rajouter un parentNode. exemple pour test: Code :
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com