Bonjour,
Dans le cadre d'un projet, j'affiche un tableau avec tous les utilisateurs. J'ai un formulaire de recherche dans lequel on peut rechercher le nom d'utilisateur.
Je souhaiterais que la recherche soit dynamique et que lorsque l'on commence à taper un nom d'utilisateur dans le champ de recherche, le tableau se mette à jour dynamiquement.
Voici déjà le code du tableau :
J'utilise la fonction load de jquery qui permet de recharger une portion de code html via une requête ajax. L'ennui c'est que la div est remplacée par "Cette page n'existe pas" (qui est en fait le message affiché lorsqu'on essaie d'accéder à une url qui n'est pas prévue dans le fichier de routing).
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 <form> <label for="search_user">Rechercher un membre</label> <input type="text" id="search_user" /> </form> <div id="user_table"> <table"> <thead> <th>Pseudo</th> </thead> <tbody> @foreach($users as $user) <tr> <td>{{{$user->username}}}</td> </tr> @endforeach </tbody> </table> </div> </div>
Voilà le code js pour ça :
Et les routes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $('#search_user').on('keyup', function(event){ var value = $(this).val(); $('#user_table').load('getUsers', {value: value}, function(response, status, xhr){ alert(status); console.log(xhr); }); });
la vue "user.user_table" c'est le même tableau qu'au-dessus. Il devrait normalement s'afficher mais en réalité c'est le message de App::missing() qui s'affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Route::get('getUsers', function() { $users = User::all(); return View::make('user.user_table')->with(array('users' => $users)); }); App::missing(function() { return 'Cette page n\'existe pas'; });
Est-ce que quelqu'un aurait une idée ? Merci d'avance.
Partager