Re-numéroation de champ après suppression de lignes d'un tableau - HTML/CSS - Programmation
Marsh Posté le 07-04-2006 à 09:29:06
Up, personne peut me donner un coup de main !?
Car j'voie pas ou est le problème dans mon if et else if
Marsh Posté le 07-04-2006 à 10:05:24
mc_cut_killer a écrit : Par contre pour ce qu'il y est de la création de fonctions js, je suis loin d'être au top |
Autant je comprends l'interet de renuméroter les lignes autant les ids je comprends pas ...
Bon mais sinon en gros ça doit donner quelque chose comme:
Code :
|
Marsh Posté le 07-04-2006 à 10:07:20
Bonjour,
C'est difficile de répondre, parce que ce morceau de code ne montre pas d'où vient le numéro de ligne, et donc il est difficile de dire pourquoi c'est la première ligne ou la dernière ligne qui est supprimée.
Mais peut-être qu'il s'agit du problème classique, où plusieurs suppressions sont faites à la suite, et où le programmeur ferait l'erreur de penser qu'il faudrait incrémenter le numéro de ligne pour supprimer la ligne suivante, parce qu'il ignorerait que le browser remet à jour les numéros de ligne après chaque suppression, et donc qu'en fait, il ne faut pas incrémenter le numéro de ligne quand on passe à la ligne suivante, car cette ligne suivante a glissé d'un cran et est devenue la ligne précédente par rapport à avant.
Marsh Posté le 07-04-2006 à 10:41:15
En fait j'ai une commande avec le détails. Ce détail est composé de plusieurs lignes avec plusieurs champs.
Au final, j'envoie mon formulaire pour l'enregistrement dans la base de donnée.
Après avoir lu plusieurs tutoriaux sur le sujet, j'ai vu que la plupart utilisait des ids pour récupérer les infos de leurs champs (ce qui n'est pas le plus pratique à ce qu'on m'a dit) mais bon j'ai fait comme ca.
Deplus j'ai des informations qui se change en directe pour xmlhttprequest et la aussi j'utilise les id pour repérer les zones que je dois changer.
Du coup j'ai initialisé une variable nb_ligne que s'incrémente à chaque création de lignes. Donc pour une ligne tous mes champs ont pour id nom_du_champ_[nb_ligne]
Quand je supprime une ligne il faut donc que je remette à jour ces informations. Non seulement pour les récupérer dans de bonne conditions, mais aussi pour pouvoir ajouter d'autres lignes.
Lorsque je fais ca en php, je dit que si la ligne 1 est supprimé alors il suffit de décrémenté toutes les autres ligne de 1.
Si c'est la ligne n qui est effaçé je fait la même action pour les lignes > n.Enfin pour la dernière je décrémente nb_ligne de 1 et je la supprime.
Je vais essayé ton model de fonction anapajari, par contre je comprend pas pourquoi mes conditions marchent pas. Normalement il devrait suffir de dire :
Si mon numéro de ligne est 1 on est dans le cas 1.
Si mon numéro est égal au nombre de lignes c'est le dernier cas.
Sinon il faut passé au cas de la ligne intermédiaire.
Et la quoi qu'il en soit ca excécute mon premier if, pourtant si je met des alert il trouve bien nb_ligne qui correspond au nombre totale de ligne, et no_ligne qui correspond à la ligne en cour.
Si je met que la cas de la suppression de la dernière ligne ca marche, c'est pour ca que je me demande si j'ai la bonne syntaxe pour mes if et else if.
Marsh Posté le 07-04-2006 à 11:22:16
Bon, il semble que je suis vraiment mauvais.
Voila la fonction que je veut utiliser pour la suppression de la première ligne, sachant que j'ai déjà un variable nb_ligne qui prend ++ à chaque ajout de ligne.
Code :
|
Par conséquent se devrais remplaçer tout les 2 pour i et les 1 par i-1.
Mais ca marche pas
Marsh Posté le 07-04-2006 à 11:29:00
mc_cut_killer a écrit : Mais ca marche pas |
S'trop compliqué d'expliquer ce qui marche pas??? Erreur JS? Rien qui se passe? Bref...
De toute façon ton algo est foireux, ce que tu dois faire c'est:
- enlever la ligne dont le numéro est passé en paramètre |
Y'avait une légère boulette dans le code que je t'avais donné:
Code :
|
Et ton nb_ligne ne sert strictement a rien tu peux toujours l'avoir grace à :
Code :
|
Marsh Posté le 07-04-2006 à 11:33:54
Quand je dit ca marche pas sans préciser, rien ne se passe et les champs conservent le même numéro.
Pour nb_ligne, c'est ce que j'ai trouvé de plus simple pour savoir mon no de ligne, mais le problème n'est pas la.
J'vais voir ce que ca donne avec ton nouveau code
Marsh Posté le 07-04-2006 à 11:52:24
C'est bon
Je viens de réussir à adapter ton code et ca marche, voila ce que j'ai fait :
Code :
|
Maintenant dernière petite question à la con, pourquoi lorsque je fais :
Code :
|
il me lance tout le temps le premier if ?
Marsh Posté le 07-04-2006 à 11:56:55
parce qu'il faut mettre == dans les ifs pour tester une condition... Sinon tu fais une affectation.
Par ailleurs ton truc est toujours dégueux laisse moi 5 mins je te montre comment j'aurrais fait...
Marsh Posté le 07-04-2006 à 11:58:18
Ok merci
Domage que certains tutoriaux du net propose des truc faut, sur un site il disait que la différence entre le javascript et le php était que l'on n'utilisait pas == mais =
Edit: pfff voila ca marche, moralité jamais faire confiance à personne lol
Marsh Posté le 07-04-2006 à 12:22:21
donc j'aurais fait ça!!!
pour l'html:
Code :
|
Et pour le php tu t'en foutais du coup tu récupérais des tableaux pour chacune des colonnes, comme le prouve ce petit...
Code :
|
Marsh Posté le 07-04-2006 à 12:25:42
Un grand merci ton aide,
je vais étudier la question cette après-midi.
Bon week end et @+
Marsh Posté le 06-04-2006 à 15:57:06
Bonjour, me revoila avec mes questions javacript
J'ai déjà posé une question portant sur la création dynamique de tableau.
Maintenant pas de problème avec l'ajout de ligne. Après avoir lu quelque tuto je sais supprimer des lignes.
Par contre pour ce qu'il y est de la création de fonctions js, je suis loin d'être au top
Après avoir supprimé une ligne du tableau, il faut logiquement que je m'occupe de la renumérotation des lignes et des champs.
Je sais faire en php mais pas en javascript.
Voici un exemple de code qui marche pour la suppression de la première ligne, lorsque le tableau comporte deux lignes. Pour que ca marche avec toutes les lignes il faudrais que je fasse une boucle avec des paramètres au lieu de valeurs fixes, et c'est la que je bloque.
Si quelqu'un pouvais me donner un exemple de boucle pour ce cas, je pourais l'appliquer pour la supression d'une ligne intermédiaire en lancant la boucle pour toutes les lignes > à la ligne supprimée.
Pour ce qu'il est est de la dernière ligne pas de problèmes.
Par contre j'ai du me tromper dans la syntaxe de mes if, car ca supprime toujours la première ligne. Et si je met que le code pour la suppression de la dernière ligne ca marche.
Merci d'avance pour votre aide
Message édité par mc_cut_killer le 06-04-2006 à 16:15:16