Bonjour !

j'ai un formulaire contenant un champ texte qui me permet, lorsque son contenu est modifié, de mettre à jour en ajax, une liste de valeurs venant d'une base de données affichée en dessous

rien d'extraordinaire en soi mais :
- si j'utilise onchange, la fonction n'est exécutée que quand le champ perd le focus, ce que je ne trouve pas pratique du tout dans mon cas
- si j'utilise onkeyup (ou onkeydown, onkeypress), ça fonctionne comme je voudrais, si ce n'est que la fonction est appelée à chaque frappe (logique)

est-ce qu'il y aurait un moyen (en javascript, ajax, jquery ou autre) de détecter une 'pause' dans la frappe avant de lancer la fonction (pour éviter 4 ou 5 requêtes ajax en parallèle au fur et à mesure de la frappe) ?

par exemple, si je veux taper le mot "test", comme ma fonction javascript n'envoie la requête ajax qu'au bout de 2 lettres, j'ai 3 requêtes ajax lancées à la suite

selon la disponibilité du serveur php derrière, ces requêtes (asynchrones) ne s'exécutent pas forcément dans l'ordre, et pas forcément assez vite

la requête sql exécutée étant (en plus) un peu complexe, j'ai peur qu'à la longue (en montée en charge), ça devienne horriblement lent pour mettre à jour la liste de valeurs

j'ai vu, sans regarder le détail, des fonctions permettant "d'observer" un élément toutes les x secondes; ça me permettrait d'espacer les requêtes mais il en resterait encore beaucoup, surtout l'utilisateur tape lentement

merci d'avance !