Page 1 sur 1

Création ou suppression d'un champ

Posté : 19 juin 2008, 17:48
par kochalski
J'ai 3 problèmes que je n'arrive pas à résoudre.
J'ai beau chercher je ne trouve pas.
Y aurait il une personne qui pourrait me donner un exemple de script...en PHP .

Mes souhaits:
Quand je clique sur " Ajouter une action de surveillance" je souhaiterais pouvoir:

1° Creer 1 champ de type "textarea" dans un tableau mais que cela s'affiche dans les 4 colonnes et sur la même ligne comme ci dessous (donc, nom des champs differents).

2° Si suppression d'un champ, que cela supprime toute la ligne de la table.

3° Si création supplémentaire d'un champ, que cela s'affiche dans le même tableau mais sur un ligne supplémentaire.
Voilà un script que j'ai trouvé sur le net mais j'aimearis qu'il soit en PHP
AFIN DE POUVOIR RENTRER LES DONNEES DANS MA BDD.

Code : Tout sélectionner

<html> <head> <title>Document sans nom</title> <script type="text/javascript"> var compteur = 0; function ajouter(){ // On récupère le fieldset var conteneur = document.getElementById('fichiers'); var conteneur2 = document.getElementById('fichiers2'); /** * Création des éléments dont on a besoin : * Un div dans lequel on mettra notre champ file et une case à cocher * qui nous servira à enlever ensuite le div. * * En utilisant un div ça sera plus facile car sinon * on aurais du enlever le champ file et la case à cocher séparément. */ var undiv = document.createElement('div'); var fich = document.createElement('input'); var check = document.createElement('input'); fich.name = 'mesfichiers[5]'; fich.type = 'text'; check.type = 'checkbox'; // On enlève sur le click de la checkbox check.onclick = function(){ // Elément à enlever lediv = this.parentNode; // Elément auquel on enlève lefieldset = lediv.parentNode; // On enlève ! lefieldset.removeChild(lediv); } /** * Ajout des éléments au div grace a appendChild * qui ajoute à la fin. * On utilise aussi createTextNode pour ajouter du texte apres la case */ undiv.appendChild(document.createTextNode("Supprimer ")); undiv.appendChild(check); undiv.appendChild(fich); // Ajout du div : conteneur.appendChild(undiv); conteneur2.appendChild(undiv); } </script> <style type="text/css"> <!-- .Style1 {color: #000066} .Style2 { color: #FF0000; font-weight: bold; } --> </style> </head> <body> <p align="center" class="Style1">&nbsp;</p> <form action='' method='post'> <input name="button" type='button' onclick='ajouter()' value='Ajouter une action de surveillance' /> <br> <br> <table width="972" height="80" border="1" align="left" cellspacing="0"> <tr> <td width="275" height="39" bgcolor="#00FFFF"><fieldset id='fichiers'></fieldset></td> <td width="237" bgcolor="#99CCFF"></td> <td width="189" bgcolor="#99FFFF"></td> <td width="175" bgcolor="#FFCCFF"></td> </tr> <tr> <td height="39" bgcolor="#00FFFF">&nbsp;</td> <td bgcolor="#99CCFF"></td> <td bgcolor="#99FFFF"></td> <td bgcolor="#FFCCFF"></td> </tr> </table> <div align="center"></div> <p align="center" class="Style1"><strong><br> <br> </strong></p> <p align="center" class="Style1">&nbsp;</p> </form> </body> </html>
D'avance merci

Francis

Posté : 20 juin 2008, 09:57
par zigz4g
Ton script n'est pas trop mal, faut juste l'adapter a ta sauce. C'est juste du JavaScript
qui te creer des champs de formulaire dans la case d'un tableau. A toi de faire un bouton
ajouter une nouvelle ligne de donnees. Ensuite il ne te reste plus qu'a faire un bouton
input type='commit' pour envoyer le formulaire saisir.
De l'autre cote, il faut que ton code PHP recupere un nombre aleatoire d'information.
Regarde du cote des tableaux envoyes par un formulaire. La syntaxe ressemble a ceci :
<input type="text" name="test[]"/>