Formulaire dynamique et variable php

refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006 - 23 déc. 2005 à 14:14
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 23 déc. 2005 à 15:46
Bonjour et meilleurs voeux pour tout monde.
Je veux faire un formulaire dont les champs s'ajoute en cliquant sur un bouton.
J'ai créé une fonction en javascript
function ajout()
{
var texte="
";
document.getElementById("nomdiv").innerHTML += texte;

}

et dans mon html j'ai:
<form>

</form>

en cliquant sur le bouton ajouter une zone de texte s'ajoute dans mon formulaire.
Le probleme c'est que je ne sais pas comment récupérer le valeurs de ces champs (comme variables php) pour les insérer dans ma base de données.
Merci de m'aide.

7 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 déc. 2005 à 14:30
Hello,

mets plutôt un tableau comme nom de ton champ texte : di[] par exemple.
Comme ça, tu récupèreras les valeurs saisies dans les champs textes ajoutés (autant que tu veux) dans $_POST['di'][0], $_POST['di'][1], $_POST['di'][2] etc
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 déc. 2005 à 14:31
et meilleurs voeux aussi :-)
0
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
23 déc. 2005 à 14:48
Ok! merci beaucoup malalam!
une autre question si ça ne te dérange pas de me répondre; je veux que l'internaute peut ajouter seulement 6 champs au maximum, aprés je désactive le bouton ajouter.
j'ai essayé avec une boucle while et un compteur i, mais ça n'a pas marché(il m'ajoute les 6 champs en un seul clique, et en cliquant une autre fois il m'ajoute 6 autres...et ainsi de suite).
Avez vous une idée?
merci.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 déc. 2005 à 15:07
Au passage, tu dois aussi revoir l'id de tes champs ajoutés.
Il n'y a que ces champs textes dans ton formulaire ?
Si oui, voilà ce que tu peux faire :

<form method="post" id="idForm">

</form>

function ajout(form)
{
var f = document.getElementById(form);
var cpt = f.elements.length;
var cptTxt = 0;
for (i = 0; i < cpt; i ++) {

if (f.elements[i].type=='text') {
var cptTxt ++;
}
}
if (cptTxt < 7) {
var texte="
";
document.getElementById("nomdiv").innerHTML += texte;
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
refkaben Messages postés 151 Date d'inscription vendredi 19 août 2005 Statut Membre Dernière intervention 21 février 2006
23 déc. 2005 à 15:19
Merci d'abord pour ta réponse.
en réponse a ta question"Il n'y a que ces champs textes dans ton formulaire ?"
non j'ai d'autres champs de types différents(listes, checkbox....).
et je vais utiliser cette methodes pour plusieurs (div) de mon formulaire.
Donc à priori ça ne marche pas avec la solution que tu m'as proposé.
Donc comment faire?
merci
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 déc. 2005 à 15:45
Si, elle fonctionne à peu près : là, je checke les type d'input. Un select n'est pas compris dedans. Si tu as d'autres champs textes, non ajoutés de cette manière, que tu ne veux pas compter, tu peux utiliser leur nom pour vérifier que ce ne soit pas eux.
if f.elements[i].name != 'nomChampNonAjouté' // c'est bon, on peut compter.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 déc. 2005 à 15:46
Ceci dit...tu peux aller poser ta question ici plutôt :
www.javascriptfr.com
Ils sont plus concernés.
0
Rejoignez-nous