Tableau dynamique

Répondre
SearcherLite
le 07/07/2014 à 20:54
SearcherLite
svp je veux créer un tableau sur une page web ou il y a différentes rubriques que l'utilisateur doit remplir, mais je le veux interactif c a d quand l'utilisateur veut ajouter une ligne il peut juste cliquer sur un boutton "ajouter ligne" et celle ci s'ajoute
Paphio-King
le 09/07/2014 à 18:24
Paphio-King
Hum la c'est du html que tu veux qui sois rendu dynamique via du php a tu déjà du code a nous afficher pour que l'on vois un peut le structure html et css tu as déjà mis en place.

Merci Paphio-King
<-- Paphio-King -->
LupusMic
le 28/07/2014 à 08:40
LupusMic
Il y a deux choses à considérer :
- le traitement côté client (l'aspect interactif)
- le traitement côté serveur (l'aspect dynamique)

Une solution basique serait d'avoir ton tableau HTML, au-dessus duquel tu as un élément interactif « ajouter une ligne », qui va effectivement appeler la routine pour ajouter une ligne au tableau avec les éléments du formulaire.

Bref, quelque chose dans ce goût là :

<!DOCTYPE html>
<html>
<body>
<form action='' method='post'>
<span class='line-adder'>Ajouter une ligne</span>
<table>
<tr><td>Blah</td><td>Beuh</td></tr>
</table>
</form>

<script type='application/javascript'>
// <!--
document.getElementsByClassName('line-adder')[0]
.addEventListener('click', function(ev)
{
var table = this.parentNode.getElementsByTagName('table')[0];
var od = table.ownerDocument;

var line = table.appendChild(od.createElement('tr'));
var cell = line.appendChild(od.createElement('td'));
var input = cell.appendChild(od.createElement('input'));

input.setAttribute('name', 'first[]');

cell = line.appendChild(od.createElement('td'));
input = cell.appendChild(od.createElement('input'));
input.setAttribute('name', 'second[]');
});

// -->
</script>
</body>
</html>


Pour le côté serveur, je crois que c'est assez évident maintenant.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours