|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Bonjour,
Je dois lancer deux fonctions au même moment à la suite d'un changement sur une liste déroulante. J'ai vu que je pouvais utiliser setTimeOut() avec un délai faible pour résoudre le problème. Cependant, avec le setTimeOut, aucune fonction ne se lance: Voici mon code : Code :
Code :
Bien que j'ai bien sur testé chacune deux deux qui marche séparément parfaitement. Quel est le problème à ce niveau ? merci de vos solutions ? Cordialement. |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 868 ![]() |
javascript est sensible à la case :
setTimeOut => setTimeout |
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() ![]() Inscription : avril 2004 Messages : 4 795 ![]() |
bonjour,
Code javascript :
tu as sans doute tes raisons pour ajouter un timer aussi long (3s) sur une de tes fonctions. Je voudrais quand même que tu fasses attention car si ces deux fonctions utilisent des variables globales au même moment tu pourras avoir des déconvenues. |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 868 ![]() |
Je rajouterai même, vu que la fonction "go_comptes" ne prend pas de paramètre :
Code :
|
||
|
|
00
|
|
|
#5 | |||
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Citation:
Non, j'ai mais le délai seulement comme ça, mais le plus faible m'arrangera. Y'a t-il un délai au maximum faible ? C'est peut être la cause que ma deuxième fonction "go_credit_reporte()" ne s’exécute pas. En effet dans les deux fonction, j'utilise des mêmes champs de formulaire pour les envoyer via Ajax. Cela devrait-t-il empêcher que seul le premier s’exécute ? |
|||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 868 ![]() |
Là, j'ai bien envie de sortir mon gros "LoL".
"Maximum" possède un super antonyme qui est "Minimum". Et pour répondre à ta question, le délai minimum que tu peux passer à setTimeout est 0 seconde mais dans ce cas il n'y a plus d'intérêt d'utiliser setTimeout si ce n'est que de sortir du contexte courant pour arriver dans un contexte obscure. Mais dans ce cas "eval" fera la même chose. (à l'execption prêt de qqe bugs sur des vieilles version de firefox qui permettait de faire de l'ajax cross-domain) mais je doute encore que ce soit ton but de coder une fonction pour un vieux navigateur que peu de gens utilise encore !? Ou alors, je n'ai pas du tout compris ta question, ce qui est encore le plus probable. (je l'espère). ps: si tu utilises le setTimeout pour ne pas "bloquer" ton exécution de code à cause des requêtes ajax, sache que tu peux utiliser des requêtes ajax dites" asynchrones". |
|
|
00
|
|
|
#7 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
![]() Code html :
<select onchange="fonction1();fonction2();">
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
euh... Y a un léger problème aussi : setTimeout prend en paramètre un fonction... càd :
Code :
setTimeout(go_comptes,3000); //sans les parenthèses après go_comptes |
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Non, setTimeout peut prendre en paramètre soit une référence à une fonction, soit une chaine de caractères à évaluer (même si cette dernière option est à déconseiller).
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Étudiant Inscription : mai 2011 Messages : 226 ![]() |
ah
![]() Je savais pas ^^ désolé |
|
|
00
|
|
|
#11 | |
|
Débutant
Inscription : avril 2005 Messages : 464 ![]() |
Citation:
Je me la compliquais sans raison. Merci beaucoup.
|
|
|
|
00
|
|
|
#12 | |
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
Ok mais pas ici, c'est un forum public
![]() Citation:
Une remarque en passant à propos de setTimeout avec des arguments : passer une chaîne à setTimeout est aussi dangereux qu'eval. On devrait toujours utiliser une fonction anonyme : Code :
setTimout(function() { maFonction(arg1, arg2, …); }, 3000);
__________________
Disposition de clavier ergonomique française : Bépo |
|
|
|
00
|
|
|
#13 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com