Page 1 sur 1

formulaire dans formulaire, comment poster celui à l'intérie

Posté : 04 mai 2009, 10:31
par VaN
Bonjour,

Problème étrange qui m'ammène.

J'ai une page HTML, avec 2 formulaires, l'un dans l'autre.

Voici en gros la structure :

Code : Tout sélectionner

<form action="commande.2.php"> [...] <?php foreach($adresses_de_facturation as $adresse_de_facturation) { ?> <input type="radio" name="adresse_de_facturation" id="<?php echo $adresse_de_facturation["adresse_id"]; ?>" /> <form action="commande.1.php"> [...] </form> <?php } ?> [...] </form>
Pourquoi cette structure ?

Parce que le premier formulaire permet à l'utilisateur de choisir une adresse de facturation à l'aide de radio button, et d'arriver sur la page finale de la commande.
Le 2e formulaire (intégré dans une boucle PHP) permet de modifier une adresse de facturation à la volée.

Le problème est que lorsque je modifie une adresse de facturation, cela m'emmène sur la page commande.2.php, car lapage comprend que je soumet le 1er formulaire.

Puis-je soumettre le formulaire 2, tout en gardant cette architecture, et si possible sans passer par Javascript ?

Posté : 04 mai 2009, 11:17
par Calimero
Non, il ne faut pas imbriquer les formulaires. Le validateur du w3c te le confirmera...

Posté : 04 mai 2009, 14:11
par VaN
Voici un screenshot de mon interface :

Image

Comment puis-je me débrouiller pour pourvoir à la fois choisir une adresse de livraison, et modifier à la volée ces adresses ?

Posté : 04 mai 2009, 15:13
par Nours312
le mieux serait de faire un ormualire généré par une petite fonction javascript la validation metrais à jour la base de donnée (Ajax) et l'affichage dans ton formulaire principal ...

sinon, tu change de page affiche le formulaire de modification, valide et recharge ta première page avec la nouvelle adresse ...

JS => Plus sympa ...
Pas JS ... plus simple ... ? :s

@+

Posté : 04 mai 2009, 16:17
par AB
JS => Plus sympa ...
Pas JS ... plus simple ... ? :s

@+
Faudrait pas oublier non plus les problèmes d'accessibilité. Si tout le site est fait sans JS ou avec du JS non obstrusif, il serait dommage d'en mettre à cette dernière étape. Donc ici plutôt prévoir une solution php éventuellement doublée en JS :wink: