LIBRAIRIE AUTOCOMPLETION (AJAX OU LOCAL, CHOIX D'EFFETS, ENTIEREMENT PERSONNALIS

toutphp Messages postés 107 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 5 mai 2010 - 19 nov. 2006 à 20:36
 Utilisateur anonyme - 18 juin 2012 à 19:43
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40382-librairie-autocompletion-ajax-ou-local-choix-d-effets-entierement-personnalisable

Utilisateur anonyme
18 juin 2012 à 19:43
Bonsoir, merci pour ce code ;) Apparemment rubiks10 l'initiateur de ce code a disparu ;-)

Mais qqu'un aurait-il réussi a récupérer l'ID dans un input ? Et aurait la solution... sesramdeux ou mussara peut-être ?

Voilà le code dans la partie html :

<form method="POST" action="article_list.php">

Recherche
rapide avec l'identifiant,
(Entrez au moins une lettre ou un
chiffre dans la zone de recherche ci-dessous, la recherche s'effectue
par la désignation, le prix H.T ou TTC),
,

----

,

<script type="text/javascript">
new AutoCompleteur('autocompletion', 'ajout_article_update', 'plugins/autoCompletion_module/traitement_php/ajout_article.php', {
Global: {
nbrMaxItem: 10,
nbrCharsStart: 1,
classToIgnore: ' '
},
Ajax: {
paramName: 'designation'
},
Extra: {
afterValidate: function(element,updateElement,elementValide,text){
if (elementValide) { // Si on a validé un choix
element.value = text; // Remplir le champs texte par le choix
var id_art = elementValide.id_art; // Recupérer l'id de la LI (on en fait ce que l'on veut...)// Recupérer l'id de la LI (on en fait ce que l'on veut...)
// Tu peux donc affecter une Input Hidden avec la variable id etc...
}
},
openEffect: 'blind',
hideEffect: 'slide'
}
});
</script>,
,

----

,
Art_Id

(Entrez l'Id de l'article et envoyer pour effectuer les modifications),

</form>

Mais sur la page cible ... Rien de je ne récupère pas l'ID ???

MERCI pour vos réponse ;-)
moigali Messages postés 1 Date d'inscription vendredi 3 décembre 2004 Statut Membre Dernière intervention 7 février 2011
7 févr. 2011 à 20:26
Bonsoir,
Pour les problèmes en local, c'est au niveau de la fermeture de la base de donnée que ça bloque.
A la ligne 29 du fichier film_avec_image.php par exemple il faut lui dire quel connexion il doit fermer avec mysql_close().
Il n'y a qu'a commenter la ligne pour voir que c'est de là que vient le problème.
medio10 Messages postés 1 Date d'inscription dimanche 14 mars 2010 Statut Membre Dernière intervention 24 décembre 2010
24 déc. 2010 à 11:48
Bjr,
avant tout merci pour ce boulot sur l'autocomplete,c le meilleur.
Neanmoins j'ais encore un soucis au niveau de la recuperation du paramètre de recherche ,il ne gere pas les espaces et les caractere accentués.
Pouvez vous m'aider SVP ,ca fait lontemps que je cherche
roccociccone Messages postés 1 Date d'inscription lundi 19 novembre 2007 Statut Membre Dernière intervention 10 décembre 2010
10 déc. 2010 à 15:19
Bonjour,

Bravo pour ta source elle est au top !!

J'ai un problème, j'ai un menu dynamique en jquery est si je desactive la librairie du menu ton code fonctionne , c'est a dire le div apparait.
Mais lorsque je remets la librairie jquery alors le div ou la liste devrait apparaitre ne s'affiche pas !

Aurais tu une solution ?

Merci
Taraanis Messages postés 1 Date d'inscription lundi 23 mars 2009 Statut Membre Dernière intervention 5 mars 2010
5 mars 2010 à 11:44
bonjour,
j'ai le même problème que squatman en local ça ne marche pas, le problème vient probablement de la connexion à la bbd mais je comprend pas parce qu'elle est bien créée et les paramètres de connexion semblent bons. M'enfin si par hasard quelques années après quelqu'un repasse par ici avec une solution je suis preneur.
squatman972 Messages postés 2 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 3 février 2010
3 févr. 2010 à 03:56
PS2: Ca marche avec les exemples en ligne mais pas en local :s
squatman972 Messages postés 2 Date d'inscription dimanche 26 novembre 2006 Statut Membre Dernière intervention 3 février 2010
3 févr. 2010 à 03:49
Salut!

J'ai un petit problème...
Pour ton script ainsi que pour tous les autres scripts ajax d'autocompletion que j'ai essayé de faire tourner sur mon serveur wamp local, rien ne se passe.

Ca marche très bien pour ton mode "local" mais ton mode "ajax" ne marche pas chez moi.

Qu'en pense tu?

SQ

PS: oui, javascript est bien activé dans les paramètres du navigateur.
zapolo Messages postés 1 Date d'inscription mercredi 12 janvier 2005 Statut Membre Dernière intervention 14 octobre 2009
14 oct. 2009 à 15:38
Bonjour RUBIKS10,

Je viens de découvrir ton script qui vient me sauver la vie. Encore merci.
cependant, j'ai un souci.
J'ai un peu modifié l'affichage des résultats et ça fonctionne parfaitement. je souhaiterais pouvoir atteindre directement une page en cliquant sur un des résultats retournés par la recherche.
Merci
doprev Messages postés 1 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 13 décembre 2007
13 déc. 2007 à 18:04
Bonjour,
Très bon code
Cependant la validation par clic de souris ne fonctionne pas alors que la touche Entrée fonctionne (et ceci que ce soit sous IE ou FF). Pour l'instant j'utilise simplement la démo et j'ai bien installé la base de données.

Merci de me donner des pistes
zouzino Messages postés 7 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 3 décembre 2007
3 déc. 2007 à 17:21
Salut Rubiks10,
C'est un très bon code mais j'ai deux questions puisque je suis pas expert en javascript et ajax:
1- Comment faire si je veux que le script m'affiche tjs des autocompletions si je separe les mots disons par /. Une fois je tape / et je retape un charactere je veux que le script m'affiche des propositions commencant par ce charactere.

2- Quelle fonction me permet une fois que je clique sur un mot propose d'afficher disons dans une autre div des resultats relies a ce mot?

Merci d'avance et bonne continuation
csa62mo Messages postés 1 Date d'inscription vendredi 24 mars 2006 Statut Membre Dernière intervention 1 août 2007
1 août 2007 à 14:51
Bonjour Rubiks,

Tout d'abord un grand bravo pour ta lib!! J'ai commencé à en faire une mais quand j'ai vu la tienne, j'ai tout de suite arrété ;-)
Voilà, j'avais juste un petit soucis pour la completion en Ajax vu que le choix de faire la completion sur le début et/ou la fin de chaine n'est pas paramétrable (logique vu qu'en Ajax, c'est à nous, pauvres utilisateurs de ta magnifique lib, de construire la requête SQL qui va bien). Du coup j'ai fait une requete type "SELECT mon_champ FROM ma_table where mon_champ LIKE ''" en me disant que je rajouterais les % par moi même dans le champ pour faire la completion à gauche et/ou droite. Et c'est là que j'ai eu quelques soucis vu que % est un caractère spécifique en HTML. Du coup je me suis permis de modifier légèrement ton code à la ligne 419 de l'autoCompleteur_lib.js pour remplacer le signe % par sa valeur en HTML à savoir %25:

avant : this.AjaxModePackage.parameters = this.AjaxModePackage.paramName+'='+this.element.value+'&limit='+this.globalOptions.nbrMaxItem;
après : this.AjaxModePackage.parameters = this.AjaxModePackage.paramName+'='+this.element.value.replace(/%/,"%25")+'&limit='+this.globalOptions.nbrMaxItem;

Du coup, ça marche impec :-D C'est peut-être pas franchement optimisé ou pas très intelligent de faire ça là, mais j'ai fait ça vite fait sans rentrer dans le détail de ton code.
Voilà, c'était juste pour te prévenir, des fois que tu ne te sois pas encore penché sur le sujet et que ça t'interesserais (il existe bien d'autres caractères spéciaux comme '&' mais je pense que tu sais ça mieux que moi)

Bon code
Yanou (admiratif de ta lib...)
plefebvr_fr Messages postés 4 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 28 juillet 2007
28 juil. 2007 à 16:10
Salut Rubiks,

Je ne pense pas que ça soit le cas uniquement chez moi .. car j'ai utilisé la démo qui est fournie donc le code n'a pas été modifié du tout.

On peut le vérifier en activant la trace dans mysql comme cela puis en redémarrant mysql :

Exemple moi avec wamp, ajouter la variable log dans le block [wampmysqld] :
[wampmysqld]
log=C:/Server/Wamp/logs/queries.log

Pour un mysql classique :
[mysqld]
log=C:/Server/Wamp/logs/queries.log

Et franchement, je ne suis pas d'accord sur le fait que ce ne soit pas un problème car le but est d'avoir un code optimisé, pas de solliciter le serveur inutilement (sauf si le nombre de sessions est limité bien entendu ou qu'il s'agit d'un serveur de test)

Voilà, si quelqu'un peut me confirmer que je ne suis pas le seul ou a une solution, je suis preneur ;o))

Merci & @+,
PL
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
28 juil. 2007 à 13:37
Salut GFPL, pour ton problème d'id redondant tu as du faire une erreur dans le php et rajouter "id" devant le résultat de ton serveur bdd.

Salut Apaligot, pour le problème des librairies en fait je redéfini certaines méthodes de Prototype tel que Position.clone et également certaines de la librairie Effects de scriptaculous donc en fait il faudrait que tu intègres les librairies scriptaculous et prototype en premier dans la balise HEAD puis tu intègres en dernier ma librairie normalement ca devrait passer.

Salut plefebvr_fr, je suis étonné du comportement de ma librairie chez toi, moi ca ne m'a jamais fait ca, donc ben désolé mais je peux pas t'aider mais cela dit ce n'est pas un problème non plus...

Bon courage à tous et merci
@+
plefebvr_fr Messages postés 4 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 28 juillet 2007
25 juil. 2007 à 09:45
Salut Rubiks,

Merci pour le script !!

Mais j'ai une petite question, comment empêcher la requête ajax lorsqu'un choix a été effectué (via enter ou click par exemple) car 2 requêtes au minimum sont envoyées au serveur et la deuxième ne sert à rien,

Exemple, dans la démo fournie :
1. Je tape b dans le premier champ => 1 requête ajax (like 'b%')
2. Je choisi une des valeurs => Une requête ajax est envoyée au serveur avec le résultat (like 'Bad Company%')

Voici la trace mysql :
070725 9:42:43 16 Connect root@localhost on
16 Init DB autocompletion
16 Query SELECT DISTINCT
id,
titre
FROM
autocompletion_exemple
WHERE
titre LIKE 'b%'
ORDER BY
titre ASC
LIMIT
5
16 Quit
070725 9:42:46 17 Connect root@localhost on
17 Init DB autocompletion
17 Query SELECT DISTINCT
id,
titre
FROM
autocompletion_exemple
WHERE
titre LIKE 'Bad Company%'
ORDER BY
titre ASC
LIMIT
5
17 Quit

Merci bcp,
Pl
apaligot Messages postés 2 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 24 juillet 2007
24 juil. 2007 à 14:37
Bonjour RUBIKS.
Désolé pour le long temp de réponse, j'étais parti...
J'ai réussi à faire fonctionner le script (via l'intégration dans une classe PHP), mais lors de l'utilisation de plusieurs autocompletions dans le meme formulaire, les listes s'affichent toutes mais seule la première liste est séléctionnable (malgrès différents ID).
Mon second problemme est que j'ai du intégrer les librairies scriptaculous et prototype d'office dans mes pages. Du coup, ton script ne fonctionne plus. J'ai bien essayé de supprimer les entrées de autoCompleteur.js (Libraries: ['autoCompleteur_lib'],), mais sans succès. Est-ce possible d'utiliser ton script sans les librairies incluses ? Quelles sont les différences entre les librairies que tu utilise et les officielles ?
En te remerciant par avance pour tes réponses...
gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011
4 juil. 2007 à 15:47
en effet la ca marche et je n ai rien fait de sepcial mais bon j ai refais un upload de mes source et ca a marche comme il faut il y avait peut etre un fichier non compet que j avait upper

sinon oui c est utres bon code j ai juste un petit souci si tu sait me dire ou c est
quand on selectionne une ville il retourne une url genre id=id4568 voila j ai un id en trop j aimerais voir id=456855... pour recupere les variable...
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
23 juin 2007 à 12:23
Salut GFPL.

Ben pour ton 1er message concernant mon ancienne librairie cela ne fonctionne pas car le fichier PHP que tu appelles n'existe pas. Pour débugger je te conseille (sous FireFox) de télécharger le module complémentaire FireBug qui permet de tout voir dynamiquement et donc également les requêtes Ajax.

Puis concernant ton 2eme message je suis allé voir ton lien et pour moi cela fonctionne parfaitement !!! J'ai bien la liste des villes.

Voilà @+
gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011
21 juin 2007 à 16:45
le meme avec
http://all-dog.eu/auth1/ajax/auto3/

au fait pq ca ca ne marche pas ?
<?php

$sql1 = "SELECT * FROM cp_ville";
 $result1 = mysql_query($sql1);
  $num1 = mysql_num_rows($result1);
  if($num1 == 0 ) { echo'erreur mauvais code postale';return false;}
 
else{
?>
  
<script type="text/javascript">
var LocalArray = ['!',':',';','?',<?php for($i=0; $i<$num1; $i++) {
  $ville = mysql_result($result1, $i, "cp_ville.vil_nom"); echo $ville; }
      mysql_query($sql1) or die($sql1);
  }?>'achro;atopsie'];
</script>
gfpl Messages postés 172 Date d'inscription samedi 11 août 2012 Statut Membre Dernière intervention 9 avril 2011
21 juin 2007 à 15:39
bon j ai essayer pas mal de tes codes j ais essayer pas mal de truc mais rien a faire ca ne marche pas ... :(

une demo de mes essais ton ancien code

http://all-dog.eu/auth1/ajax/auto2/exemple.php

firefox 1.8.4

sous ie pareils rien ne passe non plus ...
j ai passer plus de 6h a essayer le script dans tout les sens mais j y arrive pas ...

aucun des 4 telecharger
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
10 juin 2007 à 21:50
Salut APALIGOT

Est-ce qu'au moins la liste s'affiche ?
Est-ce que tu as créé toi même un fichier de réponse serveur ou as-tu utilisé le mien et si tu as utilisé le mien qu'as-tu modifié dedans ?

Plusieurs personnes ont eu le même problème sur FireFox mais j'avais résolu le problème depuis (voir commentaire des mises à jour). J'utilise ma source dans de nombreux projets et je n'ai jamais eu de problèmes par la suite sur tous les navigateurs.

Donc si tu me dis que mon exemple fonctionne parfaitement cela ne vient pas de FireFox mais d'un problème dans ton adaptation de ma source. Mais quoi... réponds aux questions précédentes ça m'orientera pour résoudre le problème.
apaligot Messages postés 2 Date d'inscription lundi 12 janvier 2004 Statut Membre Dernière intervention 24 juillet 2007
10 juin 2007 à 19:42
Bonjour RUBIKS10 !
bravo pour ton travail d'excellente qualité.
J'ai cependant un petit problemme... Ton exemple fonctionne impec sous FF, mais pas mon script... (alors qu'il fonctionne sous IE) : le champ ne se complète pas ni avec le clic ni avec la touche entrée, et les touches down et up ne fonctionnent pas non plus. Ma version de FF est la dernière : 2.0.0.4

Aurais-tu une piste, je cherche l'erreur depuis un moment mais je ne trouve rien... Pas d'erreur JS sur IE ni FF.
Voici mon code :

<script type="text/javascript">
document.getElementById("_marque_update").style.width = document.getElementById("_marque").offsetWidth+'px';
new AutoCompleteur('_marque', '_marque_update', 'inc/fieldcompletion.inc.php?field=marque', {
Ajax: { paramName:'deb' }
}
);
</script>

merci d'avance...
bafcomp Messages postés 16 Date d'inscription lundi 8 décembre 2003 Statut Membre Dernière intervention 4 août 2009
30 mai 2007 à 17:55
rubiks10 je te salut pour se que tu as fait et pour repondre a toute ces qustion, il nous faut juste une dizaine de perssone comme toi et y aura plus d ignorant informatique
merci a mon nom et merci au nom de tous se que tu as aider je suis vraiment fiere de toi
plefebvr_fr Messages postés 4 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 28 juillet 2007
25 mai 2007 à 13:08
En relisant les posts précédents et en tatonnant un peu, voilà comment faire :

afterValidate: function(element,updateElement,validatedElement,collectedText) {
if (validatedElement) {
element.value = collectedText;
var champs = validatedElement.id.split(\'_\');
document.getElementById(\'typedefilm\').value = champs[1];
document.getElementById(\'dateachat\').value = champs[2];
}
}

Merci encore !
Philippe
plefebvr_fr Messages postés 4 Date d'inscription mardi 9 janvier 2007 Statut Membre Dernière intervention 28 juillet 2007
25 mai 2007 à 12:49
Bonjour,

Et bravo pour ce code d'autocompletion, j'en ai vu pas mal en cherchant sur la toile mais soit "trop lourd", soit avec des erreurs..

Bref, le plus court est souvent le meilleur !!

J'ai une petite question tout de même (surement simplissime mais pas pour moi ;o)), je cherche à récupérer la valeur du premier champ "id" afin de renseigner d'autres champs du formulaire sans avoir à ré-interroger la base,

Exemple:
<li id="filmID_Action_13/05/2006" class="film">

La bataille des planètes

</li>

Pour remplir les champs du formulaires comme ça :

element.value = collectedText;
document.getElementById(\'typedefilm\').value = 'Action';
document.getElementById(\'dateachat\').value = '13/05/2006';

Mais il y a surement plus simple .. ;o)

Merci beaucoup,
Philippe
ichnusa84 Messages postés 1 Date d'inscription samedi 5 mai 2007 Statut Membre Dernière intervention 5 mai 2007
5 mai 2007 à 11:00
Votre script est super. Une question toutefois. Si l'utilisateur tape Martin dans le champ nom, on voit les 10 ou 20 ou... items selon le paramétrage. Mais du coup, je ne peux plus accéder aux Martin qui restent... Comment puis-je les voir ? Comment mettre un bouton ou lien genre 10 ou 20 suivants ?

Merci infiniment.
cs_nihaoma Messages postés 140 Date d'inscription jeudi 2 mai 2002 Statut Membre Dernière intervention 2 février 2010
16 avril 2007 à 09:09
pardon, je voulais dire "ton script est très bien!"
cs_nihaoma Messages postés 140 Date d'inscription jeudi 2 mai 2002 Statut Membre Dernière intervention 2 février 2010
16 avril 2007 à 09:08
Bonjour,

Tout script est très bien !

j'aimerai le modifier un peu mais je ne sais pas trop comment faire. Voila, tes "propositions" faite pas l'auto-complétion s'affiche dans un div s'adaptant à la taille du champ texte de saisi. Moi, j'aimerai que si dans le champ en question je saisi plusieurs mots ou une phrase, le script ne fasse la recherche que depuis le dernier espace (mot en cours, mais ca c'est bon j'ai trouver comment faire), par contre j'aimerai afficher les résultats sous la forme d'un div dont la position gauche se cale sur la première lettre du mot considérer (je ne sais pas si je suis très clair ?)
croyez vous que cela est possible ? j'ai fais quelques recherches, je trouve facilement plein de script qui peuvent me donner la position du curseur de saisi en terme de nombre de caractères, mais pour positionner mon div comme je le veux, il me faudrait une sorte d'offset en pixel de ce curseur de saisi par rapport au left du champ de saisie. Je ne trouve aucune propriétés pour récupérer cette info, et son calcul à partir du nombre de caractères me parait difficile puisque dépendant de la taille de chaques lettre tappées dans la police utilisée....

si quelqu'un pouvait avoir une idée cela m'aiderait beaucoup...

merci par avance

cordialement
NiHaoMa
sesramdeux Messages postés 2 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 13 avril 2007
13 avril 2007 à 08:07
Décidément, non, je n'y arrive pas. Il y a quelque chose que je dois faire de travers.
Voici le code (un peu adapté) dans le fichier php et dans le fichier html. Je récupère bien la valeur localité, mais jamais l'id. Merci.

1. dans film_sans_image.php
///////////////
SELECT DISTINCT
IDLoc as id,
txtLocalite
FROM
tbllocalites
WHERE
txtLocalite LIKE '".$_POST['localite']."%'
ORDER BY
txtLocalite ASC
LIMIT
".$_POST['limit']."
")
or die(mysql_error());

dbClose();

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////EXTRACTION DE LA REQUETE ///////////////////////////////////////////
$response = array();
while ( $result = MYSQL_FETCH_ARRAY($query,MYSQL_ASSOC) )
{
$response[] = array (
'id' => $result['id'],
'txtLocalite' => $result['txtLocalite']
);
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// CREATION DE LA CHAINE DE CARACTERES ENVOYEE ////////////////////////////////////
$return = '';
for($i=0;$i<count($response);$i++)
{
$return .= '<li id="id_'.$response[$i]['id'].'" class="film">

'.$response[$i]['txtLocalite'].'

</li>';
}
$return .= '';
//////////////

2. Dans le fichier ".html"

...
<script type="text/javascript">
new AutoCompleteur('IDLoc', 'IDLoc_update', '<?php echo $dir_inc?>/autocompletion/traitement_php/film_sans_image.php', {
Global: {
nbrMaxItem: 100,
nbrCharsStart: 3,
classToIgnore: ' '
},
Ajax: {
paramName: 'localite'
},
Extra: {
afterValidate: function(element,updateElement,elementValide,text){
if (elementValide) { // Si on a validé un choix
element.value = text; // Remplir le champs texte par le choix
var id=elementValide.id; // Recupérer l'id de la LI (on en fait ce que l'on veut...)
// Tu peux donc affecter une Input Hidden avec la variable id etc...
}
},

openEffect: 'blind',
hideEffect: 'slide'
}
});
</script>
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
11 avril 2007 à 19:19
Salut SESRAMDEUX

oui normal l'id c'est pas "elementValide.IDLoc" mais "elementValide.id"
voilà

@++
sesramdeux Messages postés 2 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 13 avril 2007
11 avril 2007 à 15:34
Bonjour Rubik

Très bon script.
Toutefois, j'ai beau relire et relire les explications que tu donnes concernant la récupération de l'ID dans un , j'obtiens désespérement un beau "0".
Dans le fichier php (dans ton exemple film_sans_image.php), j'ai bien les champs nécessaires dans la clause SELECT ainsi que dans l'array Response. Je reprends l'ID dans l'id du <li>.

Par contre, je coince ici : comment je récupère une valeur en javascript vers une valeur dans le hidden
afterValidate: function(element,updateElement,elementValide,text){

if (elementValide) { // Si on a validé un choix
element.value = text; // Remplir le champs texte par le choix
var id = elementValide.IDLoc; // Recupérer l'id de la LI (on en fait ce que l'on veut...)
// Tu peux donc affecter une Input Hidden avec la variable id etc...
}
},

Merci
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
4 avril 2007 à 17:21
Re Benb82

Bon le problème est résolu !!! En fait ce problème apparait sous quelques versions de Firefox mais pas toutes, très bizarre quand même. Le problème ne m'était jamais arrivé et la en testant ben le problème était là... pourtant j'ai un ami qui utilise ce script sur son site et quand j'y vais il n'y a pas de problème... enfin bon c'est de l'aléatoire on va dire et que tu n'as vraiment pas eu de chances...
Pour info : c'était le 'keypress' qu'il fallait remplacer par 'keydown' car certaines versions de Firefox ne prennent pas en compte les évènements flèche bas,haut et les page down et page up lors du 'keypress' alors qu'il les prennent lors du 'keydown' mais bien sur tout cela est aléatoire car je n'ai pas tout le temps le problème.

La source a été mise a jour donc tu peux la télécharger

@+
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
4 avril 2007 à 16:07
Salut Tokyo

Pour les recherches à l'intérieur des chaines en mode Ajax c'est à toi de créer ta propre requête MySQL.

par exemple pour une recherche normal : LIKE 'blabla%'
par exemple pour une recherche à l'intérieur : LIKE '%blabla%'
La recherche intérieure en mode Ajax se fait manuellement et pas par une option

Voilà
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
4 avril 2007 à 16:04
Salut Benb82

Bon je vais y regarder de plus près dès que j'ai un petit moment.
cs_tokyo Messages postés 6 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 4 avril 2007
4 avril 2007 à 10:58
bonjour rubik,

la suite de mes aventures , j'ai testé en passant par le php j'arrive à mes fins concernant mon problème d'accents,

par contre je n'ai plus accès aux recherches même à l'intérieur des chaînes (ex: on recherche 'te' => raquette convient). c'est pour cela que j'utilisais le mode local.....

y a t-il moyen d'implémenter la recherche à l'intérieur des chaines en mode ajax ?

d'avance merci de tes réponses

cordialement

tokyo
benb82 Messages postés 2 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 1 avril 2007
1 avril 2007 à 23:34
Salut Rubiks10

Après avoir fait de multiples tests et autres manips (différentes versions de FF, sous différents ordis), je n'arrive toujours pas à comprendre pourquoi les flèches KEY_UP et KEY_DOWN ne réagissent pas sur FireFox. J'ai retélécharger le code source sur ce site et sans rien modifier, les flèches ne réagissent pas pour naviguer dans la liste de suggestion (pour les cas par exemples 2 et 4 - cas locaux). J'ai pu tester d'autres exemples d'autocompletion où les flèches fonctionnent bien sous FF, d'autant que sur ta première librairie d'autocompletion, cela marche bien!

Cela m'handicape beaucoup, d'autant que ta librairie est vraiment géniale (je recherchais ca depuis longtemps).

D'autre part, je l'ai configuré pour qu'il soit possible de prendre en compte d'autres paramètres actifs de la page (pour par exemple faire une suggestion en conséquence de ce qui a été saisie plus haut dans un formulaire - exemple typique, la mise à jour de liste déroulante sur le code postal et et ville, mais sous forme de suggestion et non de listes deroulantes). Bref, si cela t'interesse... afin de l'etoffer pour une version future.

Merci, de rejeter un oeil sous mon probleme de fleches, je t'en serai infiniment reconnaissant ou tout du moins de me donner une piste serieuse

Cordialement

--
benoit.beaudenon@hotmail.fr
braouazou Messages postés 1 Date d'inscription lundi 13 octobre 2003 Statut Membre Dernière intervention 27 mars 2007
27 mars 2007 à 18:23
Salut,

Je fais des tests avec ta bibliothèque qui est très bien pensée. J'ai juste un petit souci d'affichage avec Internet Explorer lors de l'affichage de la liste d'autocompletion.
Le div semble masquer du texte qui se trouve au dessus de l'input. Ce problème n'apparait pas sous FF (je n'ai testé qu'avec IE 6, je n'ai pas de machines windows à disposition et le progiciel que je développe sera majoritairement utilisé sous IE).

Je peux au besoin faire une démo.

Julien
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
26 mars 2007 à 22:37
Salut Benb82

Je t'assure que tout est ok sous FF. C'est d'ailleurs dans ce sens que je code :
- Sur FF
- Fix sur IE et autres...

Donc pour moi tout est ok (sur la derniere version ca passe aussi et sur l'ancienne aussi).
Le problème ne vient pas de ma librairie
benb82 Messages postés 2 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 1 avril 2007
26 mars 2007 à 01:44
Salut,

Je ne sais pas si je suis le seul à avoir ce soucis, mais les touches KEY_UP, KEU_DOWN, KEY_PAGEUP et KEY_PAGEDOWN ne répondent pas sous FF. Tout ce passe bien sur IE. En remplacant KEY_UP par KEY_LEFT dans le fichier Autocompleteur_lib.js (ligne 270 environ), il se passe bien se qui devrait se passer avec la fleche du haut.

J'utilise bien la derniere version de FF. Pourrais-tu m'apporter un element de reponse. Merci
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
14 mars 2007 à 18:40
Salut Tokyo

cela ne sert a rien que je rajoute une option comme celle la car la recherche dans la base de données c'est pas ma librairie qui la fait !!!! mais c'est le script php.

Et donc je reviens encore à ce que je t'ai dis dans mon post précédent il faut que tu enleves les accents dans le script php juste avant le SELECT dans la base.

Comme c'est expliqué dans la documentation fournie le script php et personnel et c'est à vous de modifier pour faire ce que vous souhaitez.

En tout cas tu n'arrivera a rien en modifiant le javascript...

Voilà @+
cs_tokyo Messages postés 6 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 4 avril 2007
14 mars 2007 à 17:02
bonjour rubik,

tout d'abord, merci de ta réponse.
en fait je voudrais que la saisie soit insensible aux accents comme c'est possible pour la casse.
mais je ne vois pas comment faire.
c'est pour cela que j'essayais de transformer les caractères saisis, mais effectivment cela ne peut pas marcher.

il faudrait en fait enrichir ta librairie avec une possibilité supplémentaire genre ignorerAccents, c'est cela ?

tokyo
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
13 mars 2007 à 20:57
Salut Tokyo

Ben c'est normal car dans l'input texte c'est seulement l'affichage que tu changes mais l'affichage se fait après que ma librairie ait envoyé la requete Ajax.

Je n'ai pas trop compris comment tu effectues tes test dans le script php appelé par Ajax mais peut être que tu pourrais essayer en php dès le début du script de convertir la chaine passée en POST en majuscule et en enlevant les accents. Et ensuite de faire la recherche dans la base.

Voilà mais sans certitudes car je n'ai pas entièrement compris.

@+
cs_tokyo Messages postés 6 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 4 avril 2007
13 mars 2007 à 13:27
bonjour,

personne n'a d'idée ou de piste sur mon message du 6/03 ?
j'avoue m'être bien trituré les neurones, je ne comprends pas pourquoi j'arrive à rendre insensible aux accents sur la première lettre et pas sur les autres....

à l'aide...

tokyo
mussara Messages postés 7 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 8 mars 2007
8 mars 2007 à 09:37
merci Rubik10
cs_FT24 Messages postés 7 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
8 mars 2007 à 06:54
Salut RUBIK,
APACHE 2, PHP 4.4.0 (virtual directory a OFF), MySql 4.x.
Sous windows ok (easyphp 1.8 virtual directory a On.
Je vais vérifier la casse des noms des répertoires et fichier.

Merci RUBIK

Franck.
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
7 mars 2007 à 18:35
Salut MUSSARA

Pour régler ce problème tu doit ajouter la propriété autocomplete à l'input texte : par exemple :


le seul problème avec cette propriété c'est quelle n'est pas valide W3C... mais bon c'est la seule façon de faire.

Voilà ++
mussara Messages postés 7 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 8 mars 2007
7 mars 2007 à 16:53
bonjour

j'ai de nouveau un petit souci:

lorsque l'utilisateur a déjà saisi un mot après sélection dans le formulaire (en version AJAX) s'il retourne sur la page et qu'il veut saisir les mêmes lettres, il a 2 listes de choix qui se superposent (celle gérée par l'autocomplétion + celle qui garde en mémoire ce que l'utisateur a tapé)

est ce dû à un problème de codage? on peut le solutionner?

je ne sais pas trop quoi faire car du coup les 2 listes se superposent...

merci de votre aide

jp
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
7 mars 2007 à 13:55
Salut FT24

Je ne pense pas que c'est un problème de chemin. As-tu essayer tous les exemples ?? car le 1 et 3 ne fonctionnent que si un serveur php est présent alors que le 2 et 4 fonctionnent meme sans serveur étant donné que c'est en mode local.

Es-tu sûr d'avoir un serveur php? quel es ta version d'apache sous ton linux ? car sous linux ou windows il n'y aucune différence tant que les serveurs apache, php et mysql fonctionnent.

Voilà @+
cs_FT24 Messages postés 7 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
7 mars 2007 à 11:24
Est ce un pb de chemin relatif ?
cs_FT24 Messages postés 7 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
7 mars 2007 à 11:22
Bonjour Rubik,
aucun pb sous ie et firefox.
J'ai un autre pb, sur ma machine de developpement (w2000, easyphp 1.8) mon code fonctionne parfaitement. Sur le serveur linux, meme code, aucun message erreur et aucune réaction du champs (je fais A pas de réponse)...
cs_tokyo Messages postés 6 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 4 avril 2007
6 mars 2007 à 12:58
bonjour,

je ne maitrise pas trop javascript.

j'ai intégré le script dans mon appli tout fonctionne bien.
cependant j'aurais aimé rendre la saisie insensible aux accents, comme c'est le cas pour la casse.

voici ce que j'ai fais,

-dans ma liste (données qui viennent d'une bd), je la débarasse de ses accents et je mets en majuscule, donc le contenu de la liste s'affiche bien en majuscule et sans accents (LocalArray)

j'ai crée une fonction qui se lance sur la saisie d'une lettre dans le champ input (exemple2),
cette fonction me permet de remplacer les lettres saisies et de les substituer ainsi si j'entre un é, il est trasformé en E.
cela fonctionne bien sur la première lettre, je peux taper e,é, è, E indiféremment et j'obtiens biens mes éléments qui figure dans ma bd.
par contre , imaginons que j'ai dans ma bd le terme electrode enrobée.
je transforme cela en ELECTRODE ENROBEE pour que cela apparaisse dans ma liste,
si je tape :
é ou e, j'obtiens bien mon ELECTRODE ENROBEE, si je tape enrobee, pas de pb je l'obtients toujours. si je tapes enrobée, là je n'ai plus rien dans ma liste.

qu'est ce j'ai loupé, peut être faut il jouer avec exemple_update ? je vois pas comment...
est-ce faisable ?

merci d'avance si vous avez une idée ?

tokyo
mussara Messages postés 7 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 8 mars 2007
2 mars 2007 à 13:21
merci beaucoup pour tes explications complémentaires
je m'en sors

bonne continuation
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
2 mars 2007 à 00:03
Oui donc pour te donner un autre exemple :

Dans le fichier php qui génère la liste il faut que tu affectes un id à chaque proposition representée par une LI.

Puis il faut que tu redéfinisses la fonction afterValidate par exemple :
afterValidate: function(element,updateElement,elementValide,text){
if (elementValide) { // Si on a validé un choix
element.value = text; // Remplir le champs texte par le choix
var id = elementValide.id; // Recupérer l'id de la LI (on en fait ce que l'on veut...)
// Tu peux donc affecter une Input Hidden avec la variable id etc...
}
}

La redéfinition de la fonction se fait dans le sous objets Extra de l'objet options comme l'exemple 3 fournis.

Voilà je pense que cette fois tu as compris.
@+
},
mussara Messages postés 7 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 8 mars 2007
1 mars 2007 à 21:06
hello

oui ce n'est sans doute pas très compliqué pour toi... mais je n'ai pas ton niveau en javascript... ;o(

j'ai bien compris le déroulé et la méthode qui ensuite affectée pour rediriger vers une autre page

ce que je me dis:
il faudrait rajouter dans exemple.html un autre input type:


et que AutoCompleteur récupère ce fameux id (en + de la valeur qu'il retourne par défaut dans les exemples de ton script)

mais c'est pas facile....
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
1 mars 2007 à 20:31
Salut MUSSARA

Oui tu as donc remarqué que je n'utilise pas de formulaire et que la soumission d'un formulaire peut se faire par javascript en redefinissant la méthode afterValidate.

Tu peux d'ailleurs regarder les exemples que je fournis avec la doc pour comprendre comment et l'intérêt de pouvoir redéfinir cette méthode à sa guise.

En ce qui concerne l'id j'ai expliqué une méthode et l'ai implémenté en exemple dans l'exemple 3 que je vous ai fournis. (si on valide un film alors cela nous redirige vers une page avec son id en parametre) et pour comprendre comment je fais je te conseille de regarder dans le fichier de génération en php (la méthode et d'insérer l'id dans l'id de la balise LI) enfin tu comprendras mieux en analysant mon code dans le fichier PHP ainsi que la méthode afterValidate de l'exemple 3 (a voir dans le fichier HTML)

Voilà il n'y a rien de compliqué mais si jamais tu bloques n'hésites pas.

Bonne prog
mussara Messages postés 7 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 8 mars 2007
1 mars 2007 à 16:06
re...

j'ai avancé à partir de tes scripts et désormais tout fonctionne bien (je n'avais pas vu qu'en fait tu n'utilisais pas de formulaire à la base)

par contre là où je coince c'est que je n'arrive pas à récupérer dans un champ caché (input type hidden) la valeur de l'id de la sélection...

si jamais tu as des pistes à me laisser...

merci
jp
mussara Messages postés 7 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 8 mars 2007
1 mars 2007 à 11:04
bonjour rubiks10

merci pour toutes les explications et codes que tu nous proposes. je commence à un peu mieux comprendre ce mécanisme que j'ai découvert hier... et de permettre d'éviter les listes de centaines d'éléments c'est génial...

par contre je me pose quelques questions pour adapter ton code à mon appli... et surtout qu'en est il par rapport à la soumission du formulaire...
je m'explique...
j'ai déjà un formulaire actuellement (avec malheureusement des select qui font apparaitre des centaines de lignes...). je compte donc remplacer mes select par ton script d'autocompletion.
à la saisie des lettres et lorsqu'on clique sur le mot choisi , est ce que le formulaire est soumis ou pas?
je souhaite que non, car la sélection d'un mot n'est qu'une partie de mon form, et je souhaite qu'il reste 'soumis' que lorsque l'utilisateur clique sur le bouton de validation...

merci en tous les cas
cs_FT24 Messages postés 7 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
28 févr. 2007 à 08:56
Bonjour,
merci Rubik.
Je test.
Franck
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
28 févr. 2007 à 01:41
Salut FT24

En ce qui concerne la double recherche c'est à toi de creer ton propre fichier de traitement en php ou tout autre langage serveur. Les fichiers php de traitement que j'ai inclus sont à titre d'exemples pour faire fonctionner l'exemple de la liste de films.

Si tu as lu la doc fournie j'ai indiquer que la seule chose à absolument faire c'est de renvoyer du code html sous forme de liste UL LI avec les LI étant les propositions. Après la requête doit être faite exprès pour l'utilisation que tu veux et donc tu peux récupérer tout ce que tu veux.

En ce qui concerne ton problème avec FF c'est très bizarre car personne n'a eu de problème jusqu'à présent avec les versions 1.5 ou 2.0 et plus. Peut-être que tu as une version antérieure mais meme une version antérieure devrait fonctionner. Tu devrais essayer de mettre à jour FF et vérifier... mais vraiment bizarre.

Voilà
cs_FT24 Messages postés 7 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
27 févr. 2007 à 22:26
c'est encore moi, est il possible de faire une double recherche sur la table de la bdd.
Exemple de mon cas sur une application comptable:
L'utilisateur saisie dans le meme champs un numéro de compte ou le nom du compte...

Merci. Franck
cs_FT24 Messages postés 7 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
27 févr. 2007 à 22:03
Rebonjour rubik, incompatible je ne sais pas. J'ai téléchargé ton code exemple (le zip du site), la recherche a chaque caractere est ok, mais si je clicke sur la réponse, celle-ci ne remplie pas le champ du formulaire. Ce qui n'est pas le cas sous IE (version 6).

Voila, voila. C'est sans doute une erreur de ma part. Je te remercie.

Franck.
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
27 févr. 2007 à 18:46
Salut FT24

Je ne comprends pas pourquoi cela ne fonctionne pas pour toi sous firefox. Et franchement le code est plus compatible sous FF que sous IE meme si on ne voit pas la différence car j'ai tout fait pour corriger les bugs d'IE.

Je tiens meme à dire que l'autocomplétion fonctionne et s'affiche exactement sous les navigateurs IE, FF, NETSCAPE ET OPERA. Je n'ai pas pu tester sur d'autres navigateurs.

Mais sinon sous FF tu as une erreur javascript ?? si oui laquelle ?? sinon que ce passe-t-il ??
cs_FT24 Messages postés 7 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 8 mars 2007
27 févr. 2007 à 13:57
Super travail. Sous IE génial, par contre sous firefox imcompatible?

Merci Rubiks
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
30 janv. 2007 à 14:01
Salut Manuzed.

Ben bizzare que tu poses une question aussi simple... car on choisit le nombre de résultats à afficher dans la création de l'autocompléteur, dans l'objet des options ou sinon si on ne définie aucune limite 5 résultats sont affichés par defaut.

regarde le code source du fichier exemple.html et tu verras dans un des exemples la variable "nbrMaxItem" qui est définie dans le sous-objet Global de l'objet des options.

Voilà pour d'autres questions n'hésitez pas.

@+
manuzed Messages postés 2 Date d'inscription jeudi 19 janvier 2006 Statut Membre Dernière intervention 17 août 2009
30 janv. 2007 à 11:13
Oui ok pour le principe même de l'autocompletion,
mais ou se trouve la variable qui détermine le nombre
de résultats affichés?

A+

Ps: un tres bon boulot!!!
Impressionant
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
18 déc. 2006 à 23:11
Salut tokyo.

Ben non c'est pas une astuce pour un débutant, le principe de l'autocomplétion c'est de donner les résultats qui correspondent le mieux à l'entrée de l'utilisateur...

Donc par exemple si on prend mon exemple 2 si tu tapes "a" tu as les 10 premiers résultats mais pour faire apparaitrer le reste il faut affiner la recherche soit en tapant "aa" puis ensuite "ab" etc.... c'est le principe même de l'autocomplétion!!!

Car on s'imagine que même en affichant tous les résultats dans une div scollable si la source est par exemple un dictionnaire complet alors avec "a" la div scrollable contiendrait plus de 1000 ou 2000 éléments donc ce n'est pas raisonnable.

Voilà donc la seule réponse que je peux te donner c'est l'affinement de la recherche et donc une utilisation normale de l'autocomplétion.

Merci pour les commentaires

@+
cs_tokyo Messages postés 6 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 4 avril 2007
18 déc. 2006 à 13:19
bonjour,

j'ai regardé ton code, c'est super !
cependant je me pose une question de béotien, comment faire pour faire apparaitre le résultat dans une liste déroulante ? Comment faire pour ne pas limiter le nombre de réponses sans que cela sature le système ?
exemple : si je fais une recherche sur a, par défaut j'obtiens (exemple 2) les dix premiers éléments contenant en première lettre a, comment l'utilisateur fait il pour accéder aux autres valeurs ?

si quelqu'un à une astuce pour un débutant ?

merci

tokyo
buz_16 Messages postés 15 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 24 novembre 2006
24 nov. 2006 à 11:13
Ok je te remercie.
Je t'ai ajouté à mes contacts msn. j'attends de te voir en ligne pour que l'on échange sur le sujet.
@ bientôt !

mon msn : Buz_16@hotmail.com
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
22 nov. 2006 à 18:12
Non tu n'as pas à avoir honte du tout!!!! Heureusement que tout le monde n'a pas les même connaissances en javascript et en n'importe quel langage d'ailleurs... sinon le site n'existerait pas!!!

Bon sinon cela est relativement long pour t'aider en passant par le forum
donc si tu veux voici mon msn : ocbslim@tiscali.fr
Comme cela tu pourras me demander ce que tu comprends pas et si jamais tu es motivé que je t'explique en détail le fonctionnement, et aussi pour reparler de ton idée de faire de l'autocomplétion sur 2 champs en même temps car j'ai toujours pas bien saisi exactement ton problème.

Voila donc si tu es motivé... n'hésites pas.

@+
buz_16 Messages postés 15 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 24 novembre 2006
22 nov. 2006 à 12:20
J'ai un peu honte, mais je crois bien que non...
Mais ce n'est pas bien grave.
J'ai déjà un annuaire qui fonctionne grâce à ton code précedent, j'aurais voulu l'enrichir de plusieurs recherches supplémentaires. La recherche s'effectue actuellement sur le nom, j'aurais voulu l'enrichir d'une recherche sur le numéro de telelphone par exemple.
Je pense ne pas être assez calé en javascript pour comprendre tout ton code...
Désolé...
Mais merci pour ton aide.
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
21 nov. 2006 à 18:52
Ben non tu peux faire des requetes sur plusieurs champs, le truc c'est qu'après lorsque tu veux rapatrier les valeurs des champs il te faut les imbriquer dans une propriété des balises <li>

Regarde par exemple l'exemple 3!!! C'est exactement le meme système que mon ancienne source : lorsque tu valides un choix ca te redirige avec la valeur de l'id du film et lorque tu valides sur aucun champs alors ca te redirige vers une recherche... bien sur sur mon exemple j'ai pas fais comme pour l'ancienne source un affichage du style : " film id = ????? etc..."

Mais regarde la barre d'adresse et tu véras!!! et donc pour voir comment je fais regarde la fonction " afterValidate " de l'exmple 3 et regarde aussi comment je récupère l'id du film!!!
en fait je fais comme ca : <li id="id du film">Titre du film</li>

Mais après c'est à toi de te faire ton propre fichier php qui va traiter les requetes
tu pourrais faire par exemple : <li id="champs1_champs2_champs3_champs4_etc...">Nom qui apparaitra dans ton autocomplétion</li>

et après dans ta propre fonction afterValidate tu peux récupérer tous les champs en faisant
"var champs = elementValide.split('_')"

Tu comprends ??
buz_16 Messages postés 15 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 24 novembre 2006
21 nov. 2006 à 14:45
Merci Rubiks, en fait, le truc, c'est que je crois qu'on ne peut pas requeter sur deux ou trois champs de la table... Actuellement, à moins que je ne me trompe, ton code ne permet de rechercher que sur un seul champ.
@+
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
20 nov. 2006 à 15:17
Oui buz_16 effectivement

J'ai oublié de changer lors de ma dernière modification

donc tous les $_POST['post'] doivent être changé en $_POST['film']

c'est à dire dans les 2 fichiers php
la ligne : $_POST['post'] = utf8_decode($_POST['post']);
doit être : $_POST['film'] = utf8_decode($_POST['film']);

Merci de cette remarque buz_16!! cela dit cela ne vient pas de ma librairie javascript (heureusement... lol) ca vient juste de l'exmple que j'ai codé a la va-vite.

Ben sinon si tu ne comprends pas tout et que tu arrives vraiment pas à comprendre alors n'hésite pas... je suis la pour ca... lol

@+
buz_16 Messages postés 15 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 24 novembre 2006
20 nov. 2006 à 12:16
Hello rubiks, avant tout bravo pour ce boulot.
Effectivement, je merdais un peu...
Sorry...
Ceci dit, j'ai un "Notice : Undefined index: post in "C:\ program files....\fil_avec_image.php on line 33" dans les listes renvoyées dans la page des champs exemple 1 et 3.
Et j'avoue ne pas comprendre le fonctionnement dans sa globalité. Je regarde ça de plus près.
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
20 nov. 2006 à 11:50
Sinon non désolé je n'ai pas de site public....

Et au fait petit rappel pour mon exemple en ajax..
le nom de la base de données doit être : " autocompletion "
le nom de la table doit être : " autocompletion_exemple "

voilou

++
rubiks10 Messages postés 224 Date d'inscription lundi 19 décembre 2005 Statut Membre Dernière intervention 6 juin 2007 3
20 nov. 2006 à 11:48
Salut buz_16

non tu n'oublies pas de paramètre !!! car pour les cas 1 et 3 c'est de l'ajax et donc il faut creer la base de données mais c'est la même que mon ancienne librairie d'autocomplétion donc normalement tu ne devrais pas avoir de problème.
Mais aussi même si c'est une page html il faut l'ouvrir avec un serveur!!!! pas cliquer directement dessus sinon c'est sur cela ne marche pas.

Sinon pour le cas 4 tape : M en majuscule!!!! oui car pour le cas 4 j'ai mis l'option respect des majuscules et mon tableau local est le début d'un dictionnaire et pour raison de place il n'y a que des noms propres...
voilà

et je t'assure que tout fonctionne normalement.

Merci pour vos commentaires

@+
buz_16 Messages postés 15 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 24 novembre 2006
20 nov. 2006 à 10:24
Hello rubiks, manifestement, je dois oublier un paramètrage quelque part. dans le fichier exemple, il n'ya que le second cas qui fonctionne.
Naixn Messages postés 455 Date d'inscription mardi 17 septembre 2002 Statut Membre Dernière intervention 22 juillet 2007
20 nov. 2006 à 10:08
Une petite URL d'exemple ? :p
buz_16 Messages postés 15 Date d'inscription vendredi 13 octobre 2006 Statut Membre Dernière intervention 24 novembre 2006
20 nov. 2006 à 09:37
Hello rubiks, je teste tout ça de suite. :-))
toutphp Messages postés 107 Date d'inscription lundi 24 mai 2004 Statut Membre Dernière intervention 5 mai 2010
19 nov. 2006 à 20:36
Je l'essaie et je reviendrais dire quoi quand j'aurais pu le triturer de tous les côtés.
Rejoignez-nous