Incompatibilité entre JS et ChoiceType
Bonjour,
Je crée une barre de recherche dans mon projet avec un champ 'isActif' de type boolean
Dans le Form:
Code:
1 2 3 4 5 6 7 8 9 10 11
| public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('isActif',ChoiceType::class, [
'label' => 'Actif ?',
'required' => false,
'choices' => [
'Actif' => 1,
'Inactif' => 0,
]
]);
} |
Dans mon Twig,
Code:
<button onclick="myFunction()">Effacer</button>
Code:
1 2 3
| function myFunction() {
document.getElementById('isActif').value="";
} |
Mon controlle:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class UsersController extends AbstractController
{
public function index( Request $request)
{
$search = new UsersSearch();
$form = $this->createForm(UsersSearchType::class, $search);
$form->handleRequest($request);
$repository = $this->getDoctrine()->getRepository(Users::class);
if($form->isSubmitted() &&$form->isValid()) {
$users =$repository->findAllVisibleQuery($search);
}
return $this->render('admin/users/index.html.twig', [
'users' => $users,
'form'=> $form->createView(),
] );
}
} |
Le problème, quand je choisie par exemple 'Actif' et puis je clique le bouton Effacer, ce champ n'a pas été effacé, au contraire, il a ajouté selected="selected" dans <option value="1">Actif</option>, j'ai essayé de modifier myFunction() en utilisant selectedIndex = 0, remove(selectedIndex) etc, rien a changé.
Je pense que ça vient de ChoiceType, en fait, isActif est un type de boolean qu'il correspondant Entity Users ($actifuser), il y a des solutions pour mettre les valeurs de choices à partir des valeur de $actifuser ?
Merci par avance