formulaires imbriqués - methode ?

Eléphanteau du PHP | 27 Messages

24 déc. 2005, 20:08

Hello tous et joyeuses fetes !

Je bloque sur un truc idiot certainement, mais je bloque quand meme ...

Je demande des informations a un utilisateur dans une page formulaire.

Au sein de ce formulaire, j'ai deux listes dynamiques liées.
Je me base sur le post FAQ suivant:
http://www.phpfrance.com/forums/voir_sujet-4562.php
... et je souhaite utiliser uniquement du php.

Le formulaire est comme suit:
nom, prenom, region, departement, adresse et ville.
Nom, prenom, adresse et ville sont des champs textes.
Region est construit selon les entrees d'une table 'region' et departement selon une table 'departement'.

Quand un utilisateur choisit la region x, un onchange recharge la page et popule la liste departement selon la region choisie.

Ces deux listes sont au sein d'un formulaire 2, lui meme dans un "grand" formulaire 1. Voir le schema ci-dessous:
<formulaire 1 action=autre_page>
	champs nom
	champs prenom
		<formulaire 2 action=meme_page>
		region (liste dynamique)
		departement (liste dynamique)
		</formulaire 2>
	champs adresse
	champs ville
</formulaire 1>

Ma question: comment organiser mon script et ma page, ainsi que l'imbrication des formulaires.


Merci d'avance pour votre aide !!
Laurent

ViPHP
ViPHP | 649 Messages

24 déc. 2005, 23:09

Deux formulaire = Deux actions différentes donc deux boutons submit.

Pourquoi mettre tes deux liste dans un formulaire différent que le gros formulaire?
Image

Eléphanteau du PHP | 27 Messages

24 déc. 2005, 23:27

salut axel

si je mets :
formulaire 1
- liste deroulante
- liste deroulante liee

formulaire 2
- autres champs demandes

lorsque je confirme (submit) le deuxieme formulaire, seuls les champs de celui ci (formulaire 2) sont envoyes, non ?

Merci !

ViPHP
ViPHP | 649 Messages

24 déc. 2005, 23:31

Oui, je comprends où tu veux en venir, tu as besoin de deux formulaires effectivement par contre, corrige moi si je suis dans le champ:

Tu veux que si le visiteur valide le premie formulaire l'option choisie de tes deux listes soit envoyée avec le reste du formulaire mais que si le visiteur ne valide que le deuxième, on n'envoie que les listes?
Image

Eléphanteau du PHP | 27 Messages

25 déc. 2005, 00:13

axel, tu as bon.

je reexplique, pour etre sur:

le formulaire 1 est transparent, invisible pour l'utilisateur, il se (re)lance lui meme quand un choix est fait dans la liste 1.
une fois lance, il reaffiche la page avec la liste 2 liee.
L'utilisateur choisit une option dans la liste 2, complete les champs qui suivent (qui font partie du formulaire 2), et valide avec le submit du formulaire 2.
<formulaire 1 action=autre_page>
    champs nom
    champs prenom
        <formulaire 2 action=meme_page>
        region (liste dynamique)
        departement (liste dynamique)
        </formulaire 2>
    champs adresse
    champs ville
</formulaire 1>
je pense avoir trouve une solution simple, mais j'aimerais un avis:

je peux mettre dans le formulaire 2 deux champs invisibles calcules par javascript selon la valeur de Region et Departement (du formulaire 1) s'ils sont choisis.

tu (vous) en pense(z) quoi ? d'autres idees ?

merci !