Le titre de mon sujet est long, et je crois qu’il résume assez bien l’affaire.
Mais je m’explique quand même.j’ai créer un formulaire, mais il est incomplet. En effet j’aimerais quand sélectionnant un bouton radio apparaissent un bouton submit “Ajouter”.
Ensuite dans mon premier formulaire j’ai un autre formulaire, avec d’autre bouton radio et un type text. Ce que j’aimerais, c’est pouvoir après avoir cliquer sur ajouter pouvoir faire réapparaitre ce formulaire, tout en gardant le premier formulaire (j’espère que c’est assez clair, sinon, merci de me dire.).
Après m’être renseigner, j’ai penser à onclick, mais j’ai pas su faire réapparaitre mon formulaire.
Merci d’avance pour une futur aide.
Edité le 04/08/2008 à 15:39
Si c’est juste un élément (genre une boite de texte), tu peux appeler directement ce code avec son id. Si c’est un groupe d’éléments (un formulaire entier par exemple), mets le tout dans une div, et appelle le code avec l’id de la div
Edité le 01/08/2008 à 18:08
Merci pour ces informations. 9a permet bien de faire ce que je souhaite dans un premier temps et pour l’apparition du bouton “ajouter”.
Mais par contre, une fois que pour faire apparaitre ou disparaitre le bouton Ajouter, c’est selon 2 bouton radio.
Et donc, une fois que je clic sur celui qui me permet de faire apparaitre mon bouton ajouter, ça marche, mais si sans F5 je sélectionne l’autre bouton, “Ajouter” ne veut pas disparaitre.
Y’a t’il un moyen que cela ce fasse sans rafraichir?
Ce formulaire apparait déjà sur la page, si on selectionne MPTS il faudrait qu’il se remette encore une fois à la suite pour pouvoir rentrer de nouvelles données.
N’hésite pas si tu comprends pas.
Je rajoute, que je n’excelle pas dans la programmation, mais que je me débrouille (enfin presque!!!) lol.
Edité le 04/08/2008 à 10:30
c’est là où je me sens ridicule…
je voudrais que le bouton n’apparaisse pas dès le début. j’ai essayer style=“display:none” mais du coup, il n’apparait plus du tout!!! j’ai penser mettre un iput type “hidden” mais où est-ce que je le mets en submit?
Merci beaaaaaaaaaaaaaaaaaaaaaaaaaaaaucoup, il me reste plus qu’à trouver comment faire apparaitre une deuxième fois le deuxième formulaire lorsque mpts est coché…
Dans ton cas, tu remplaces tes ??? par style.visibility = ‘visible’ pour afficher ton formulaire ou style.visibility = ‘hidden’ pour le masquer.
Il y a deux approches au problème :
Créer dynamiquement des formulaires dans ta page
Avantage : Tu peux afficher un nombre illimité de formulaires
Inconvénient : C’est difficile à mettre en place, aussi bien pour la création dynamique des formulaire que pour la récupération des données
Te limiter à x formulaires (en l’occurrence : 2)
Avantage / Inconvénients : exactement l’inverse de la solution précédente.
Pour cette seconde solution, l’idée est de créer tous tes formulaires dans ta page, puis de les mettre chacun dans une div. Tu peux ensuite masquer ou afficher ces div quand tu veux à l’aide de fonctions javascript, de la manière que j’ai indiqué dans mon premier message
En as tu vraiment besoin ? Quand tu cliques sur “Ajouter”, tu veux que ça ajoute un seul nouveau formulaire, ou que ça en ajoute un nouveau à chaque fois que tu cliques ? (genre si je clique 5 fois sur “Ajouter”, ça ajoute 5 formulaires…).
Edité le 04/08/2008 à 11:59
Que ça en ajoute à chaque fois que je clique dessus.
Concrètement, je réalise une application qui permettra de remplir une base de donnée, il faut savoir que le M de MPS signifie Multi, en d’autre terme, il faut que je puisse rentrer plusieurs donnée, parce que ça évitera de remplir le premier formulaire à chaque fois sachant que ce sera la même adresse IP (lol, c’est pas beaucoup plus clair)
Mais pour faciliter l’utilisation, il serait préférable que ce qoit un clique = un nouveau formulaire, parce que ça peut être illimité, ça peut être rempli une ou plusieurs fois…
je peux pas faire un document.add('divFormInform') ???? un truc dans le genre?
Le formulaire “modèle” est dans la div “formulaireReference”. A toi de voir s’il doit s’afficher ou non. Le bouton “Ajouter” appelle la fonction Javascript “AjouterFormulaire()”. Celle-ci récupère le contenu de la div “formulaireReference”, et modifie les “name” de chaque élément du formulaire. Il copie enfin le code ainsi obtenu dans la div “formulaires” qui contiendra de fait les formulaires générés dynamiquement.
A la récupération des données, tu auras donc les données du formulaire de référence qui auront les noms “codage0”, “def0”, etc…, et les formulaires générés dynamiquement qui aurant les noms “codage1”, puis “codage2”, etc…
Il doit être possible de faire ça de manière plus “clean” en écrivant un code Javascript qui parcourt les éléments du formulaire et modifie dynamiquement leur propriété “name” (dans ma solution, tu seras obligé de modifier le code javascript à chaque fois que tu rajoutes un élément au formulaire), mais ça j’ai vraiment la flemme de te l’écrire