Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 01/07/2009, 16h05   #1
Membre du Club
 
Inscription : février 2009
Messages : 308
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2009
Messages : 308
Points : 55
Points : 55
Par défaut supprimer ligne dans formulaire dynamique

Bonjour,

J'ai créé un formulaire et une partie de ce formulaire est dynamique. Je peux ajouter des champs en cliquant sur un bouton ajouter.

Le soucis est que je souhaite supprimer l'un de ces champs quand je le souhaite.
j'ai donc créer une fonction javascript permettant de supprimer la dernière ligne ajoutée.

mon problème est que je peu ajouter et supprimer les lignes mais dans le cas ou je supprime et je rajoute un champ le formulaire n'agit pas comme je le voudrai.
ex : j'ajoute un champ "responsable 2"
je le supprime
et j'en rajoute un apres . il m'apparaitra le champ "responsable 3" juste apres le champ "responsable 1"

en fait, le formulaire ne met pas a jour l'indice de la ligne.

voici mon formulaire
form.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<tbody id="Responsable_corpus">
				<tr>
 
					<td>- Responsable du corpus 1 :</td>
					<td><input type="text" size="50" name="Responsable_corpus1"
						onKeyUp="javascript:couleur(this);">
 
 
						</td>
 
 
				</tr>
 
			</tbody>
			<tr>
				<td><input type="button" value="Ajouter un responsable"
					onclick="addRespCorpus()" /></td>
			</tr>
mon code javascript d'ajout de ligne

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function addRespCorpus() {
 
	nRC++;
 
	var newRow = document.getElementById('Responsable_corpus').insertRow(-1);
	var newCell = newRow.insertCell(0);
	newCell.innerHTML = '- Responsable du corpus ' + nRC + ' : ';
	newCell = newRow.insertCell(1);
	newCell.innerHTML = '<input  type="text" size="50" name="Responsable_corpus' + nRC + '" onKeyUp="javascript:couleur(this);">';
	newCell = newRow.insertCell(2);
	newCell.innerHTML = ("<input type=button name=supprimer value=Supprimer onclick=suppression()>");
 
 
 
}
ma fonction qui permet de supprimer
Code :
1
2
3
4
5
6
7
8
9
function suppression()
{
 
var nb = document.getElementById('Responsable_corpus').rows.length;
document.getElementById('Responsable_corpus').deleteRow(-1);
 
 
 
}
knebhi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2009, 17h15   #2
Membre éprouvé
 
Avatar de Katachana
 
Inscription : avril 2007
Messages : 745
Détails du profil
Informations personnelles :
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : avril 2007
Messages : 745
Points : 440
Points : 440
En utilisant cela dans ta fonction d'ajout pour récupérer l'indice:
Code :
1
2
 
var nb = document.getElementById('Responsable_corpus').rows.length;
Katachana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 12h12   #3
Membre du Club
 
Inscription : février 2009
Messages : 308
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2009
Messages : 308
Points : 55
Points : 55
Citation:
Envoyé par Katachana Voir le message
En utilisant cela dans ta fonction d'ajout pour récupérer l'indice:
Code :
1
2
 
var nb = document.getElementById('Responsable_corpus').rows.length;
j'ai apporté les modification à mon code qui sont :

fonction ajout de ligne

Code :
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
 
var nRC = 1;
function add {
 
	nRC++;
	var tableau = document.getElementById('Responsable_corpus');
 
	var ligne = tableau.insertRow(-1);
 
	// var newRow = ligne;
	var nb = tableau.rows.length;
 
	var newCell = ligne.insertCell(0);
	newCell.innerHTML = ligne.rowIndex;
	newCell.innerHTML = '- Responsable du corpus ' + nRC + ' : ';
	newCell = ligne.insertCell(1);
	newCell.innerHTML = '<input  type="text" size="50" name="Responsable_corpus' + nRC + '" onKeyUp="javascript:couleur(this);">';
	newCell = ligne.insertCell(2);
	// newCell.innerHTML = ("<input type=button name=supprimer value=Supprimer
	// onclick=suppression()>");
 
	var bouton = document.createElement("input");
	bouton.type = "button";
	bouton.value = "Supprimer";
	bouton.onclick = function() {
		suppression(ligne)
	};
	newCell.appendChild(bouton);
 
}
et
la fonction suppression de ligne

Code :
1
2
3
4
5
6
7
8
9
10
 
 
function suppression(ligne) {
 
	var nb = document.getElementById('Responsable_corpus').rows.length;
	 document.getElementById('Responsable_corpus').deleteRow(-1);
 
 
 
}
j'ai toujours le même souci j'ai peut etre omis quelque chose.

merci de votre aide
knebhi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 12h20   #4
Responsable JavaScript & AJAX
 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 436
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : mars 2008
Messages : 2 436
Points : 4 885
Points : 4 885
Bonjour,

Et en décrémentant nRC dans la fonction de suppression ?

vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2009, 12h39   #5
Membre du Club
 
Inscription : février 2009
Messages : 308
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : février 2009
Messages : 308
Points : 55
Points : 55
Citation:
Envoyé par vermine Voir le message
Bonjour,

Et en décrémentant nRC dans la fonction de suppression ?

tu me sauve la lol

merci vraiment sa commencai a me rendre dingue surtout avec cette chaleur
knebhi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 13h02.


 
 
 
 
Partenaires

Hébergement Web