Bonjour,
j'ai un formulaire qui comprend (entre autres) deux sfWidgetFormDoctrineChoice.
Le premier recupere la liste des marque de vehicule, le second la liste des modèles.
Dans l'initialisation du formulaire je récupère les éléments qui correspondent au paramètres de l'utilisateur.

Mais ensuite, j'ai un script ajax qui permet de remplacer la seconde liste par une liste filtrée sur le choix du modèle.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
            echo $form['vehicule_marque']->render(array(
                'onchange' => jq_remote_function(array(
                    'update' => 'modele',
                    'url' => 'trajet/listVehiculeModeleParMarque',
                    'with' => "'idmarque='+value+'&idComposantForm=trajet_vehicule_modele&nomComposantForm=trajet[vehicule_modele]'"))
            ))
            ?>
 
 
<div id="modele">
                <?php echo $form['vehicule_modele'] ?>
            </div>

ce qui se trouve dans le div 'modele' est carrément supprimé et remplacé par du html (<select> ...) qui reprend les nom et id compatible avec le form.

Mon problème est le suivant, au moment de l'envoi du form (après le submit) le champ du formulaire 'vehicule_modele' (celui qui est remplacé dynamiquement) n'est pas transmis (vérifié avec la console web-debug de symfony, le champ n'apparait pas et dans le process-form non plus.

Ma question est double, êtes vous déjà tombé sur ce type d'erreur? et si oui comment avez vous résolu le problème.

Autres question, il y a t il une méthode pour liee deux listes (le choix de l'une régénère la requête dans l'autre) sans passer par un ajax qui remplace le form->render initial?

Merci
Christophe