Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/05/2011, 23h11   #1
Invité de passage
 
M M
Inscription : décembre 2009
Messages : 43
Détails du profil
Informations personnelles :
Nom : M M

Informations forums :
Inscription : décembre 2009
Messages : 43
Points : 4
Points : 4
Par défaut Recherche en javascript

Bonsoir;
Je cherche un coup de main dans mon programme qui est sensé répondre au besoin suivant:
J'ai un champ d’écriture "input".
Quand je saisie un caractère il attend 500 ms.
Si je tape encore un autre caractère ,il pousse le temps d'attente de 500 ms.
Si non(pas de nouvelle saisie pendant 500ms) il lance la recherche.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
<html>
<head></head>
<SCRIPT>
<!--
 
 
	function nameCheckTimer(evt) {
		var e = evt || window.event;
		t=setTimeout(function(){ nameCheck(evt);}, 500);
 
	}
 
	function nameCheck(evt) {
		if (evt) {
 
			clearTimeout(t);
			nameCheckTimer(evt);
 
		}
		alert("je lance la recherche");
 
	}
 
 
 
 
//-->
</SCRIPT>
<FORM method=post action="cgi-bin/script.pl">
Enregistrement d'un utilisateur
<TABLE BORDER=0>
<TR>
	<TD>Nom</TD>
merci
binbinou69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 23h46   #2
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Bonsoir,
c'est juste ton clearTimeout qui n'est pas au bon endroit.
Code JS :
1
2
3
4
5
function nameCheckTimer(evt) {
	var e = evt || window.event;
	clearTimeout(t);
	t=setTimeout(function(){ nameCheck(evt);}, 500);
}
D'autre part, je ne vois pas bien pourquoi tu relances nameCheckTimer depuis la fonction nameCheck Il faut bien que ça s'arrête à un moment, non ?
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 07h37   #3
Invité de passage
 
M M
Inscription : décembre 2009
Messages : 43
Détails du profil
Informations personnelles :
Nom : M M

Informations forums :
Inscription : décembre 2009
Messages : 43
Points : 4
Points : 4
Merci,
Normalement , j'ai trouvé la solution.
Code :
1
2
3
4
5
6
7
8
9
 
function lancerTimer() {
	//Attendre 500 ms avant de lancer la recherche
	t=setTimeout(function(){ chercherMedicament();}, 500);
	if(tampon>0){
		clearTimeout(tampon);
	}
	tampon=t;
}
binbinou69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 20h59   #4
Membre Expert
 
Avatar de Watilin
 
Homme Matilin Torre
Étudiant
Inscription : juin 2010
Messages : 679
Détails du profil
Informations personnelles :
Nom : Homme Matilin Torre
Âge : 23
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2010
Messages : 679
Points : 1 202
Points : 1 202
Code :
1
2
3
4
function lancerTimer() {
	clearTimeout(t);
	t = setTimeout(chercherMedicament, 500);
}
__________________
Disposition de clavier ergonomique française : Bépo
Watilin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h52.


 
 
 
 
Partenaires

Hébergement Web