Une autre façon de contourner ce problème, si vous utilisez un langage de script côté serveur qui vous permet de manipuler les données affichées, consiste à déclarer votre formulaire html comme suit :
<form>
<input name="a_name"/>
<input name="a_second_name"/>
<input name="subform[another_name]"/>
<input name="subform[another_second_name]"/>
</form>
Si vous imprimez les données affichées (je vais utiliser PHP ici), vous obtiendrez un tableau comme celui-ci :
//print_r($_POST) will output :
array(
'a_name' => 'a_name_value',
'a_second_name' => 'a_second_name_value',
'subform' => array(
'another_name' => 'a_name_value',
'another_second_name' => 'another_second_name_value',
),
);
Ensuite, vous pouvez simplement faire quelque chose comme :
$my_sub_form_data = $_POST['subform'];
unset($_POST['subform']);
Votre $_POST ne contient plus que les données du "formulaire principal", et les données du sous-formulaire sont stockées dans une autre variable que vous pouvez manipuler à volonté.
J'espère que cela vous aidera !
1 votes
Il met en place un panier, où la quantité à mettre à jour se trouve à l'intérieur du formulaire qui garde la trace des totaux. Personnellement, je ne ferais pas cela, mais il rencontre des problèmes pour que cela fonctionne.
1 votes
Il semble qu'il ferait mieux d'utiliser Javascript pour copier les valeurs d'un formulaire à l'autre, plutôt que d'essayer de les imbriquer. Je ne pense pas que l'imbrication fonctionnera.
0 votes
Vous auriez même des difficultés à le faire fonctionner dans différentes versions d'un même navigateur. Évitez donc de l'utiliser.
15 votes
Vieille question, mais pour répondre au commentaire, l'imbrication des formulaires pourrait être nécessaire pour éviter le JavaScript. Je rencontre ce problème parce que j'aimerais imbriquer des formulaires pour les boutons "reset" des sous-formulaires, qui ne nécessitent pas l'activation de JavaScript.
0 votes
Oui, j'ai eu le même problème que vous. Et j'ai utilisé un formulaire de soumission ajax pour résoudre ce problème.