Bonjour. J'essaie de réaliser un tableau dynamique qui ressemble pour le moment à ça :
Seulement, j'ai un petit soucis : c'est au moment où je veut insérer une ligne entre 2 autres qui existent déjà. Je sais pas comment faire. Donc si vous avez des idées pour me guider un peu, je prendMerci d'avance.
Voici le code (j'ai utilisé insertRow() et insertCell() pour l'insertion d'une nouvelle ligne (et ses cellules) dans le tableau :
Code PHP
Code JS
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 $cpt = 1; echo "<table width = '550px' class = 'table_border' id = 'table_memoire' border=\"1\"> <tr> <th>Article</th> <th>Quantité</th> <th>Libellé</th> <th>Opérations</th> </tr> <tr> <td width=\"100\"> <input type=\"text\" name=\"article\" size = '10' value = '".$cpt."'></td> <td width=\"100\"> <input type=\"text\" name=\"quantite\" size = '10'></td> <td><textarea name=\"libelle\" value=\"\" rows=\"5\" cols=\"25\"></textarea></td> <td><input type=\"button\" value=\"Ajouter une ligne ---- CECI EST LA LIGNE SOURCE\" onClick=\"javascript:add_row(".$cpt."+1);\"><br/><input type=\"button\" value=\"Supprimer la ligne\" onClick=\"javascript:delete_row(".$cpt.");\"></td> </tr>"; echo '</table>';
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Fonction qui ajoute une ligne à un tableau function add_row(cpt){ var newRow = document.getElementById('table_memoire').insertRow(cpt); var newCell = newRow.insertCell(0); newCell.innerHTML = '<input type="text" name="article" size = "10" value = "'+newRow.rowIndex+'">'; newCell = newRow.insertCell(1); newCell.innerHTML = '<input type="text" name="quantite" size = "10">'; newCell = newRow.insertCell(2); newCell.innerHTML = '<textarea name="libelle" value="" rows="5" cols="25"></textarea>'; newCell = newRow.insertCell(3); cpt = newRow.rowIndex+1; newCell.innerHTML = '<input type="button" value="Ajouter une ligne" onClick="javascript:add_row('+cpt+');"><br/><input type="button" value="Supprimer la ligne" onClick="javascript:delete_row();">'; }
Partager