Tester si le focus est sur un champ

Le
Yves On Line
Bonjour,
J'ai crée un petit moteur de recherche dynamique avec un xmlhttprequest. A
chaque frappe dans le champ de recherche la requête se lance et les
résultats s'affichent.
Le problème c'est que c'est hyper lenttrop de requêtes en quelques
secondes.
Je voudrais donc modifier le script pour ne lancer la requête que toutes les
3 secondes et si le curseur est dans le champ de recherche. (ce qui signifie
que l'utilisateur est en train de saisir dans ce champ)
D'où ma question : comment tester en permanence le fait que le curseur (et
non pas le focus)
soit sur mon champ de recherche ?
Yves
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Yves On Line
Le #627377
Question idiote pardon il suffit de tester les entrees et les sorties du
champ.
Bon we
Yves
ASM
Le #627375
Bonjour,
J'ai crée un petit moteur de recherche dynamique avec un xmlhttprequest. A
chaque frappe dans le champ de recherche la requête se lance et les
résultats s'affichent.
Le problème c'est que c'est hyper lent...trop de requêtes en quelques
secondes.
Je voudrais donc modifier le script pour ne lancer la requête que toutes les
3 secondes et si le curseur est dans le champ de recherche. (ce qui signifie
que l'utilisateur est en train de saisir dans ce champ)
D'où ma question : comment tester en permanence le fait que le curseur (et
non pas le focus)
soit sur mon champ de recherche ?
Yves




? ?

<input onclick="k=0" onkeydown="k++"
onkeyup="if(k==3){recherche(this.value);k=0;}">

--
Stephane Moriaux et son [moins] vieux Mac

Yves On Line
Le #631713



? ?

<input onclick="k=0" onkeydown="k++"
onkeyup="if(k==3){recherche(this.value);k=0;}">

--
Stephane Moriaux et son [moins] vieux Mac


Oui c'est bien ce que j'ai mis en place...sauf sur je teste sur 3 secondes
et non 3 clics, sinon la recherche ne se lance pas systématiquement lorsque
l'utilisateur a terminé sa saisie...
Yves


ASM
Le #631711

<input onclick="k=0" onkeydown="k++"
onkeyup="if(k==3){recherche(this.value);k=0;}">


Oui c'est bien ce que j'ai mis en place...sauf sur je teste sur 3 secondes
et non 3 clics, sinon la recherche ne se lance pas systématiquement lorsque
l'utilisateur a terminé sa saisie...


j'a pas tout compris ...
il faut attendre 3 s avant de taper la lettre suivante ?

Sinon, en 3 secondes, même d'1 doigt, j'ai le temps d'en taper déjà un
paquet que j'ai depuis longtemps lancé la requête tout seul manuellement
après m'être énervé que ça ne bougeait pas
(en particulier si j'ai utilisé le copié-collé)

Si la recherche php est si longue et qu'on lui ajoute un délai
préliminaire de 3 secondes, ce n'est pas vraiment une aide à la frappe
autocomplétive.

Il me semblait qu'en envoyant sur 3 lettres supplémentaires ça réduisait
déjà le taf des requetes.
Si la base pouvait être elle-même organisée en tables de mots de 3 à 5
puis 6 à 8 lettres etc ... est-ce que ça ne raccourcirait pas les temps
de tri suffisamment?

--
Stephane Moriaux et son [moins] vieux Mac


Poster une réponse
Anonyme