IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Supprimer input et tr tableau


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Supprimer input et tr tableau
    Bonjour,

    J'ai adapté plusieurs tutoriaux trouver sur le net pour afficher une ligne de tableau avec 2 cellules et 1 input par cellule en cliquant sur un lien.

    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     var compteur = 0;
     function addLigne(idChamp) { 
    var conteneur = document.getElementById(idChamp);
     var tr1 = document.createElement('tr'); 
    var td1 = document.createElement('td'); 
    var td2 = document.createElement('td');
     var sdad = document.createElement('input'); 
    var sdaf = document.createElement('input');
     
    sdad.setAttribute("type","text"); 
    sdad.setAttribute("name"," sdad["+compteur+"]");
     sdaf.setAttribute("type","text"); 
    sdaf.setAttribute("name"," sdaf["+compteur+"]"); 
    td1.appendChild(sdad);
     td2.appendChild(sdaf);
     tr1.appendChild(td1);
     tr1.appendChild(td2);
     conteneur.appendChild(tr1); 
    compteur++;
     }

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <table border="0" cellspacing="6" id="divarticle"> 
    <a href="#" onClick="javascript:addLigne(' divarticle');">Ajouter un article</a>
     </table>

    Je souhaiterais avec un autre lien à côté pouvoir supprimer la dernière ligne ajouté. Y'a t-il une fonction pour supprimer la dernière entrée ? Ou bien je dois lancer une recherche de l'élement pour faire un removechild ? Car j'ai testé ça et je n'y arrive pas.

    Merci pour votre aide [cligne]
    Dernière modification par SpaceFrog ; 22/11/2012 à 15h56.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    le premier post reste éditable ...

    par contre je te conseille de revoir la structure de la balise table ...

    c'est original une balise <a> au milieu comme ça


    de plus on appende dans le tbody d'un table ...

  3. #3
    Invité
    Invité(e)
    Par défaut
    La partie HTML est complètement modifiée, elle ne ressemble plus du tout à ça, c'est pour la partie JS que je poste.

    Maintenant, j'active la fonction avec un bouton placé en CSS mais ça n'impacte pas le problème de suppression.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 082
    Points : 44 687
    Points
    44 687
    Par défaut
    Bonsoir,
    tu peux utiliser la méthode deleteRow en passant -1 comme paramètre ce qui supprimera la dernière ligne.
    Il faut également penser à tester si il y a des lignes dans la table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function removeLastLine(id_table){
      var oTable = document.getElementById( id_table);
      if( oTable.rows.length > 0){
        oTable.deleteRow(-1);
      }
    }
    Ne pas omettre la remarque de SpaceFrog concernant l'élément sur lequel ajouter les nouvelles lignes.

    (...)c'est pour la partie JS que je poste.
    Il n'enpêche que souvent les problèmes viennent du code HTML mal formé, donc autant, même pour des exemples, prendre l'habitude de bien former celui ci.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci , ça fonctionne niquel !

    En plus ça résout un autre problème pour moi, ça me supprimait l'en-tête de colonne mais grâce à ta ligne sur length, je fixe à 1 et plus de souci !

    Je vous fais confiance pour la partie HTML mais dans ce cas précis, c'était un bout de code qui n'existait pas. Par contre, je prends bonne note des conseils

    Je le passe en résolu, merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. pb inputs html en tableau et accès en js
    Par striky2 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/03/2007, 10h26
  2. supprimer lignes/cellules de tableau vides
    Par Drozo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/08/2006, 13h21
  3. Supprimer un élément de tableau
    Par zoidberg dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/06/2006, 16h34
  4. [HTML]Probleme de taille d'un input (dans un tableau)
    Par Shinji69 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 27/04/2006, 12h11
  5. Ajout de d'une ligne et d'un champ input dans un tableau
    Par zetta dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/11/2005, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo