Formulaire ajustable

Signaler
Messages postés
49
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
13 août 2006
-
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
-
Bonsoir,

j'aimerais générer un formulaire sur lequel l'utilisateur choisit un élement d'une liste, et remplit un textfield.
Jusqu'ici, rien de plus simple, mais j'aimerais qu'il ait la possibilité de rajouter un champ à volonté.
Je m'explique:

Lorsqu'il clique sur 'ajouter un champ', le même formulaire apparait avec cette fois-ci 2 listes, 2 textfields, et ainsi de suite.

Maintenant, ce que je ne sais pas faire, c'est refaire ce formulaire autant de fois que le clic sur le lien, tout en conservant les données qu'il a saisies auparavant.

J'ai fait un schéma pour mieux me faire comprendre ici:

http://img65.imageshack.us/img65/5930/helpvy6.png

J'espère que vous trouverez réponse à ma question.

Cordialement, Son of the Sun

9 réponses

Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonsoir,
Si la question est : comment faire une copie d' un form ?
La réponse est :

Dim MonNewForm as Form
Set MonNewForm=MonFormInitial

Tu réinitialise  le TextBox de ton nouvreau formulaire:
MonNewForm.TextBox.Text= ""

'avec ça tu peux faire autant de copies que tu veux.
'et chaque form conservera ses propres données

Corriger-moi si je me trompe
Messages postés
49
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
13 août 2006

Oups!
J'aurais peut être du préciser que je code en PHP/Javascript...
Je suis désolé...

Toutefois, merci d'avoir considéré ma question.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
no souci !
...
...
A+
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Membre
Dernière intervention
20 juin 2013
59
Sujet déplacé dans la bonne catégorie.

<hr size="2" />VC# forever
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Messages postés
49
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
13 août 2006

Ca m'a l'air d'être ca.


Je vais essayer et je vous tiens au courant, A+
Messages postés
49
Date d'inscription
jeudi 26 mai 2005
Statut
Membre
Dernière intervention
13 août 2006

Salut,

en fait, le problème est plus compliqué que ca. J'aurais du vous donner le code sources dès le départ. Il ne s'agit pas d'un simple option et d'un textfield, mais d'un formulaire avec 3 listes dépendantes dont je me suis inspiré là dessus:
http://www.espacejavascript.com/script.php?id=160

Sauriez-vous faire en sorte que lorsque je clique sur 'Ajouter une portée', le même formulaire se duplique autant de fois que nécessaire, tout en conservant les variables saisies?

Je vous confie mon code source.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<center>
Indiquez-ici les informations sur vos nouvelles port&eacute;es.

<hr>
<form enctype="multipart/form-data" name="form1" id="form1" method="post" action="">
<select name="lstEspece" size="1" onChange="redirect(this.options.selectedIndex)">
<option selected>---Choisir Espèce---</option>
<option>Chien</option>
<option>Chat</option>
</select>

<select name="lstLofLoof" size="1" onChange="redirect1(this.options.selectedIndex)">
<option value="#" selected>---Choisir LOF/LOOF---</option>
</select>

<select name="lstRace" size="1">
<option value="#" selected>---Choisir Race---</option>
</select>

<SCRIPT language="JavaScript">
<!--
var groups=document.form1.lstEspece.options.length
var group=new Array(groups)
for (i=0; i<groups; i++)
group[i]=new Array()

group[0][0]=new Option("---Choisir LOF/LOOF---","#");

group[1][0]=new Option("---Choisir LOF/LOOF---","#");
group[1][1]=new Option("LOF","#");
group[1][2]=new Option("NON LOF","#");

group[2][0]=new Option("---Choisir LOF/LOOF---","#");
group[2][1]=new Option("LOOF","#");
group[2][2]=new Option("NON LOOF","#");

var temp=document.form1.lstLofLoof

function redirect(x){
    for (m=temp.options.length-1;m>0;m--)
        temp.options[m]=null
    for (i=0;i<group[x].length;i++){
        temp.options[i]=new Option(group[x][i].text,group[x][i].value)
    }
    temp.options[0].selected=true
    redirect1(0)
}

var secondGroups=document.form1.lstLofLoof.options.length
var secondGroup=new Array(groups)
for (i=0; i<groups; i++)  {
secondGroup[i]=new Array(group[i].length)
for (j=0; j<group[i].length; j++)  {
secondGroup[i][j]=new Array()  }}

secondGroup[0][0][0]=new Option("---Choisir Race---","#");

secondGroup[1][0][0]=new Option("---Choisir Race---","#");

secondGroup[1][1][0]=new Option("---Choisir Race---","#");
var ligne= 'Affenpinscher' 
secondGroup[1][1][1]=new Option(ligne, "")
var ligne= 'Balkanski Gonic' 
secondGroup[1][1][2]=new Option(ligne, "")
var ligne= 'Cairn Terrier' 
secondGroup[1][1][3]=new Option(ligne, "")
var ligne= 'Dalmatien' 
secondGroup[1][1][4]=new Option(ligne, "")

secondGroup[1][2][0]=new Option("---Choisir Race---","#");
var ligne= 'English Springer Spaniel' 
secondGroup[1][2][1]=new Option(ligne, "")
var ligne= 'Fox Terrier' 
secondGroup[1][2][2]=new Option(ligne, "")
var ligne= 'Golden Retriever' 
secondGroup[1][2][3]=new Option(ligne, "")
var ligne= 'Jack Russel Terrier' 
secondGroup[1][2][4]=new Option(ligne, "")

secondGroup[2][0][0]=new Option("---Choisir Race---","#");

secondGroup[2][1][0]=new Option("---Choisir Race---","#");

var ligne= 'ABYSSIN' 
secondGroup[2][1][1]=new Option(ligne, "")
var ligne= 'AMERICAN BOBTAIL' 
secondGroup[2][1][2]=new Option(ligne, "")
var ligne= 'AMERICAN CURL' 
secondGroup[2][1][3]=new Option(ligne, "")
var ligne= 'AMERICAN SHORTHAIR' 
secondGroup[2][1][4]=new Option(ligne, "")

secondGroup[2][2][0]=new Option("---Choisir Race---","#");

var ligne= 'AMERICAN WIREHAIR' 
secondGroup[2][2][1]=new Option(ligne, "")
var ligne= 'ANGORA TURC' 
secondGroup[2][2][2]=new Option(ligne, "")
var ligne= 'BALINAIS' 
secondGroup[2][2][3]=new Option(ligne, "")
var ligne= 'BENGAL' 
secondGroup[2][2][4]=new Option(ligne, "")

var temp1=document.form1.lstRace
function redirect1(y){
for (m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<secondGroup[document.form1.lstEspece.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(secondGroup[document.form1.lstEspece.options.selectedIndex][y][i].text,secondGroup[document.form1.lstEspece.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
//-->
</SCRIPT>

Nombre:     ,
,
Date de naissance:,

/

/

(jj/mm/aa),
Prix:,

&euro;

Photo de la port&eacute;e:

</form>
<hr>

[# Ajouter une autre port&eacute;e]
</center>
</html>

Aperçu de la page

Merci pour votre aide
Son of the Sun
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
26
Hello,

je redirige vers le forum JS.
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
32
Ah la la quel riiilouse! T'es allé posté sur vbfrance son of the sun ou quoi? lol
Alors tu t'en sors pour ton taf? Ca m'étonne que tu poste alors qu'on a Nit!


++





         (Si la réponse vous convient, appuyez sur réponse acceptée...).




                           Noubliez pas de lire le REGLEMENT