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 :

suppression groupe de ligne dans formulaire dynamique


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Points : 93
    Points
    93
    Par défaut suppression groupe de ligne dans formulaire dynamique
    Bonjour,

    j'ai créé un formulaire dynamique ou je peux ajouter des lignes et les supprimer dynamiquement.

    cependant, j'ai une catégorie que je vais appeler 'locuteurs' qui regroupe environ une dizaine de ligne.
    je peux ajouter come je le souhaite ces locuteurs et donc j'ai un ajout de plusieurs lignes à chaque fois.

    je voudrai pouvoir supprimer ces groupes de lignes simultanément avec javascript.

    voici un bout de mon formulaire

    form.php
    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    <tbody id="loc">
    				<tr>
    					<td align="center"><b><i>Informations sur les locuteurs</i></b></td>
    					<td bgcolor="#006699"></td>
    				</tr>
    				<tr>
    					<td><b><i>Locuteur 1</i></b></td>
    					<td bgcolor="#006699"></td>
     
    				</tr>
    				<tr>
    					<td>Identifiant :</td>
    					<td><input type="text" size="50" name="id[]"
    						onKeyUp="javascript:couleur(this);"></td>
     
    				</tr>
    				<tr>
    					<td>Locuteur principal :</td>
    					<td><input type="checkbox" name="Loc_principal[]" value="Oui" />Oui <input
    						type="checkbox" name="Loc_principal[]" value="Non" />Non</td>
     
    				</tr>
     
    				<tr>
    					<td>Age :</td>
    					<td><input type="text" size="50" name="age[]"
    						onKeyUp="javascript:couleur(this);" onblur="verifAge(this)"></td>
     
    				</tr>
    </tbody>
    <tr>
    				<td><input value="Ajouter un locuteur" id="idBouton" type="button"
    					onclick="AddRow();" /></td>
    			</tr>
    le js qui permet d'ajouter des locuteurs
    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    var num = 1;
    //// AJOUT LOCUTEUR
    function AddRow() {
    	num++;
    	var newRow = document.getElementById('loc').insertRow(-1);
    	var newCell = newRow.insertCell(0);
    	newCell.innerHTML = '<b><i>' + 'Locuteur' + num + '</i></b>';
    	newCell = newRow.insertCell(1);
    	newCell.innerHTML = '';
     
    	var newRow1 = document.getElementById('loc').insertRow(-1);
    	var newCell1 = newRow1.insertCell(0);
    	newCell1.innerHTML = 'Identifiant : ';
    	newCell1 = newRow1.insertCell(1);
    	newCell1.innerHTML = '<input type="text" size="50" name="id[]" onKeyUp="javascript:couleur(this);">';
     
    	var newRow2 = document.getElementById('loc').insertRow(-1);
    	var newCell2 = newRow2.insertCell(0);
    	newCell2.innerHTML = 'Locuteur principal : ';
    	newCell2 = newRow2.insertCell(1);
    	newCell2.innerHTML = '<input type="checkbox" name="Loc_principal[]" value="Oui" />Oui <input type="checkbox" name="Loc_principal[]" value="Non" />Non';
     
    	var newRow3 = document.getElementById('loc').insertRow(-1);
    	var newCell3 = newRow3.insertCell(0);
    	newCell3.innerHTML = 'Age : ';
    	newCell3 = newRow3.insertCell(1);
    	newCell3.innerHTML = '<input type="text" size="50" name="age[]" onKeyUp="javascript:couleur(this);" onblur="verifAge(this)">';
     
    }
    voici un script javascript qui ne permet de supprimer qu'une ligne pour le moment et sur lequel j'aimerai me baser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function suppression(ligneLocuteur) {
     
     
    	var nb = document.getElementById('loc').rows.length;
    	 document.getElementById('loc').deleteRow(-1);
     
     
     
    }
    cette fonction n'est bien entendue pas adapté et je voudrai des idées pour le faire le plus économiquement possible si c'est permi.

    merci a vous.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par knebhi Voir le message
    cette fonction n'est bien entendue pas adapté et je voudrai des idées pour le faire le plus économiquement possible si c'est permi.
    Je comprends pas bien ton problème

    Tu l'as fait fonctionner pour une ligne => il te suffit de l'appeler 10 fois pour supprimer 10 lignes, non ?

    A+

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    newCell1.innerHTML = '<input type="text" size="50" name="id[]" onKeyUp="javascript:couleur(this);">';
    Créer un élement avec innerHTML est à bannir -->
    http://javascript.developpez.com/faq...DOM#DOMajouter
    suppression(ligneLocuteur)
    La paramètre ligneLocuteur n'est pas utilisé dans la fonction.
    Tu peux supprimer ces lignes en récupérant ces id ou name et faire une boucle .

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    330
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2009
    Messages : 330
    Points : 93
    Points
    93
    Par défaut
    merci a tous

    alors en fait j'ai créer un bouton supprimer qui pointe vers la fonction supprimerLocuteur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //creation bouton supprimer
    	var bouton = document.createElement("input");
    	bouton.type = "button";
    	bouton.value = "Supprimer";
    	bouton.onclick = function() {
    		suppressionLocuteur()
    	};
    	newCell.appendChild(bouton);

    ensuite j'ai fait une boucle for dans le supprimer qui m'indique le nombre de ligne que je veux supprimer d'un coup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function suppressionLocuteur() {
     
    	num--;
    	var nb = document.getElementById('loc').rows.length;
    	for(i=0;i<17;i++){ 
    	document.getElementById('loc').deleteRow(-1);
     
    	}
    à notre que j'ai décrémenter le nombre de locuteur dans la fonction suppression afin de supprimer et de rajouter eventuellement la ligne correcte.

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

Discussions similaires

  1. supprimer ligne dans formulaire dynamique
    Par knebhi dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/07/2009, 12h39
  2. [VB.net] Détection suppression d'une ligne dans Datagrid
    Par Cereal123 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2006, 14h08
  3. Comment "colorer" une ligne dans formulaire en col
    Par pyxosledisciple dans le forum IHM
    Réponses: 5
    Dernier message: 09/02/2006, 12h29
  4. [VB6]Suppression d'une ligne dans un fichier
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/02/2006, 11h20
  5. Réponses: 2
    Dernier message: 03/12/2004, 09h27

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