JeuWeb - Crée ton jeu par navigateur

Version complète : [Ajax] Optimisation
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonjour,
Je me suis mis a l'ajax depuis peu, et j'avoue j'adhère totalement Big Grin

Mais la je me heurte a un problème, fin pas vraiment un problème plûtot une question Smile

Je fait un script de "Mot de passe oublié",
La personne rentre donc son pseudo dans le champ de texte.
Moi, pour le confort des yeux, j'ai fait un petit script, qui affiche une croix si le pseudo existe pas, et un tick si le pseudo existe.

Cependant, ( sa marche avec un onkeyup), sa fait une query par lettre, donc si le gars s'amuse a écrire " je suis un boulet je veux faire chier mon monde en te faisant faire plein de query ", sa fait pas mal de requêtes sur mon serveur.

J'ai pensé a faire un petit bouton "Verifier", mais bon, je voulais savoir si quelqu'un a mieux ^^

Cordialement,
Oui tu peux faire sa au moment où le joueur clique ailleurs que sur le champ avec OnBlur.
Ce n'est pas le top puisque peut-être le joueur ne vas pas cliquer ailleurs avant de valider son formulaire mais je ne pense pas qu'il soit possible de faire mieux.
Salut,
Voila j'ai trouvé un truc pour toi, j'espère que ca va t'aider :
http://forum.alsacreations.com/topic-5-35242-1.html
Tu peux simplement effectuer tes contrôles sur l'événement submit du formulaire, comme ça, le test n'est effectué qu'à la soumission du formulaire. On pourra de toute façon te flooder, que tu utilises Ajax ou non.


Sephi-Chan
Ouai je sais, mais bon, je prefererais sans submit comme actuellement quoi ^^

Hmm, je pensais, dans mon script php, dès que je fait ma query, je definit une session de temps.

Après pour les requêtes suivante je soustrait time a cette session et si par exemple il y a plus de 1seconde d'écoulé, je fais ma query.

Peu être un peu lourd et inutile :/
Avec l'action onChange ça te permettrait pas d'avoir moins de requête ?
Oui sa pourrait marcher.
Mais c'est pas exactement ce que je veux ( et je sais même pas si c'est possible Big Grin)
Avec onChange, sa fait comme onBlur apparement, donc il faut que la personne clique a coté.

Je voudrais qu'il n'est pas a le faire, mais que par exemple il y ai une query tout les 3 ou 4 nouveau caractères :/
Lorsque l'événement se déclenche, ceci appel la fonction qui va effectuer ta requête AJAX, avant d'effectuer cette requête; tu vérifies si le nombre de caractère est un multiple de x. Pour ce faire tu calcules le modulo de la longueur de la chaine. Et si le modulo de x === 0 tu effectues ta requête.
Ou alors tu mets en place un timer pour faire en sorte que la validation ne s'effectue qu'après un certains nombre de secondes après la dernière frappe.

De ce fait dés que l'utilisateur entre la dernière lettre de son pseudo au bout de disons 2 secondes ça valide le formulaire, et sinon ça valide pas(sauf si l'utilisateur est lent et met plus de 2 secondes pour taper chaque caractères).
Et en fait entre chaque caractère si le délai de 2 secondes n'est pas atteint on le remet à zéro.

J'espère avoir été assez clair, mais sinon je peux toujours réexpliquer un peu mieux.


Je me rends également compte que ça fait un bail que je n'ai pas posté pour aider quelqu'un.
el[u a écrit :ox]
Oui sa pourrait marcher.
Mais c'est pas exactement ce que je veux ( et je sais même pas si c'est possible Big Grin)
Avec onChange, sa fait comme onBlur apparement, donc il faut que la personne clique a coté.

Je voudrais qu'il n'est pas a le faire, mais que par exemple il y ai une query tout les 3 ou 4 nouveau caractères :/

Si c'est tous les 3 ou 4 caractères, il suffit de tester la taille de la chaine dans ta fonction Ajax, puis de lancer la requête que si la chaîne fais au moins X caractères.
Genre tu la lance que si elle fait 3 , ou 6 ou 9.
Tu ajoutes à cela la même fonction sur le onChange ou le onBlur. Comme ça pendant qu'il tape il a des vérifications, puis si jamais il change de zone il y a une autre.
Pages : 1 2