Bonjour, sur le tuto de symfony2 j'aimerais faire en sorte que si l'on a pas taper au moins 3 lettre la recherche ne s'active pas ?
je redonne le code
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public function rechercherAction() { $request = $this->container->get('request'); if($request->isXmlHttpRequest()) { $motcle = ''; $motcle = $request->request->get('motcle'); $em = $this->container->get('doctrine')->getEntityManager(); if($motcle != '') { $qb = $em->createQueryBuilder(); $qb->select('a') ->from('MyAppFilmothequeBundle:Acteur', 'a') ->where("a.nom LIKE :motcle OR a.prenom LIKE :motcle") ->orderBy('a.nom', 'ASC') ->setParameter('motcle', '%'.$motcle.'%'); $query = $qb->getQuery(); $acteurs = $query->getResult(); } else { $acteurs = $em->getRepository('MyAppFilmothequeBundle:Acteur')->findAll(); } return $this->container->get('templating')->renderResponse('MyAppFilmothequeBundle:Acteur:liste.html.twig', array( 'acteurs' => $acteurs )); } else { return $this->listerAction(); } }
j'ai essayer d'ajouter ceci mais cela ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 {% block content %} <form id="form_recherche" action="{{ path('myapp_acteur_rechercher') }}" method="post"> {{ form_widget(form) }} <input type="submit" value="Rechercher" /> </form> <div class="loading"></div> <div id="resultats_recherche"> {% include 'MyAppFilmothequeBundle:Acteur:liste.html.twig' with {'acteurs' : acteurs} %} </div> <p><a href="{{ path('myapp_acteur_ajouter') }}">Ajouter un acteur</a><p> <script> $(".loading").hide(); $("#form_recherche").submit(function(){ $(".loading").show(); var motcle = $("#acteurrecherche_motcle").val(); var DATA = 'motcle=' + motcle; $.ajax({ type: "POST", url: "{{ path('myapp_acteur_rechercher')}}", data: DATA, cache: false, success: function(data){ $('#resultats_recherche').html(data); $(".loading").hide(); } }); return false; }); </script> {% endblock %}
ici je n'ai pas le mettre 3 lettres minimum si je tape un seul caractère
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if($request->isXmlHttpRequest()) { $motcle = ''; $motcle = $request->request->get('motcle'); if(count($motcle) <3) { echo "affiche 3 lettres minimum"; }
je vous remercie pour la réponse
Partager