Bonjour bonjour.
Alors aujourd'hui j'ai un petit soucis sur un formulaire ajax. Rien de bien méchant, mais quand même ^^
Donc le but de mon formulaire en ajax est de, lorsque l'on commence à rentrer des données , la recherche s'effectue. Seulement j'ai plusieurs champs, et j'aimerais qu'ils fonctionnent en même temps.
Bon, je suis arrivé à le faire, pas de soucis, sauf sur un point:
Quand je commence à remplir un champ, toutes les données s'affiche pas de soucis, quand je rempli un deuxième champ, un autre filtre s'exécute aussi, pas de soucis non plus. Par contre, si je supprime toutes les données d'un des deux champs, le live ne s'effectue plus ... puis si je retouche la valeur de mon premier champ, le live remarche.(je sais pas si je suis assez claire)
Voici mon code:
et la partie JS:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <th width="5%"><input class="search_bar" type='text' name='find_article' id="find_article" size='5' value="<?php if (isset($_POST['find_article']) && $_POST['find_article'])echo $_POST['find_article'];?>"></th> <th width="28%"><input class="search_bar" type='text' name='find_fournisseur' id="find_fournisseur" size='20' value="<?php if (isset($_POST['find_fournisseur']) && $_POST['find_fournisseur'])echo $_POST['find_fournisseur'];?>"></th>
(bien sur, ce sont que deux petits bouts de code, je montre pas le fichier qui récupère les données, je pense pas que le problème se situe là)
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 <script type='text/javascript'> $(document).ready( function() { $('.search_bar').keyup( function(){ $field = $(this); $('#results').html(''); $('#ajax-loader').remove(); if( $field.val().length > 0 ) { $.ajax({ type : 'POST', url : 'index.php?a=13' , data :'find_article='+$('#find_article').val()+"&"+"find_fournisseur="+$('#find_fournisseur').val() , success : function(data){ $('#results').html(data); } }); } }); }); </script>
Je pense que je suis pas assez claire sur le problème, donc jvais donner un exemple:
J'ai deux champs de recherche actuellement: find_article et find_fournisseur
Quand j'écris: "Z154" par exemple dans find_article, il me trouve tous les articles et fournisseurs associé.
Quand, en plus de "Z154" j'ajoute "none" dans le champ find_fournisseur, ça m'affiche bien tous les articles qui ont comme fournisseur "none".
De même, si je commence à effacer le champ 'find_fournisseur", j'ai donc "non", l'affichage se fait bien.
par contre, si j'efface completement mon champ "find_fournisseur", j'ai donc le champ find_article avec "Z154" et le champ fin_fournisseur="" ... et bien là, aucun résultat, ajax s'évertue à chercher tous les articles qui n'ont aucun fournisseur. (chose que je comprend, mais je ne sais pas comment faire autrement pour obtenir le mm résultat, mais que, lorsque j'efface complétement un champ, il ne tienne plus compte de celui ci )
Partager