|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 6 ![]() |
Bonjour à tous.
J'essaie de créer une fonction qui me permettrait de mettre un délais d'exécution après un reload, afin que celui-ci puisse avoir le temps de modifier les variables <hidden> de la page appelante avant que la fonction soit finalisé. Du genre: Code :
Ce doit être con comme erreur, mais je ne trouve pas. Quelqu'un peux m'aider? Code :
|
||||
|
|
00
|
|
|
#2 | ||||
|
Membre confirmé
![]() Inscription : février 2004 Messages : 502 ![]() |
Bonjour,
modifie Ligne 12 par et Code :
Code :
__________________
S'il n'y a pas de solution c'est qu'il n'y a pas de problème. |
||||
|
|
01
|
|
|
#3 | ||||
|
Membre Expert
![]() Matilin TorreÉtudiant Inscription : juin 2010 Messages : 679 ![]() |
SPACHFR, de quelle époque tu viens ? Eval is evil, c'est bien connu, de même que passer des chaînes à setTimeout. La seule syntaxe sûre est :
F.leduc, ton erreur au 2e input vient du fait que tu appelles la fonction display au lieu de simplement la passer en référence à check_state. Retire les parenthèses et ce sera bon : Code HTML :
<input type="button" id="btn" name="btn" value="start" onclick="check_state(document.getElementById('test_val').value, display)" />
Ensuite, tu vas avoir un autre problème du fait que tu testes directement if (variable) au lieu de if (variable != '0'). En effet, la chaîne '0' n'est pas considérée comme nulle… De plus, quand tu fais ton setTimeout, il faut repasser les arguments à check_state. Pour cela, il faut utiliser une fonction anonyme : Code JS :
Code JS :
Code HTML :
<input type="button" id="btn" name="btn" value="start" onclick="check_state(document.getElementById('test_val'), display)" />
Pour finir, j'aimerais attirer ton attention sur le fait que cette méthode s'apparente à de l'attente active (voir Wikipédia ou autre), même si elle ne monopolyse pas le processeur (grâce à la désynchronisation de setTimeout), et qu'utiliser la programmation par évènements sera certainement plus astucieux.
__________________
Disposition de clavier ergonomique française : Bépo |
||||
|
|
20
|
|
|
#4 | ||
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 6 ![]() |
Wow!. Je savais que c'était con comme erreur ...
![]() J'ai fais quelques corrections et voudrais ton avis sur un autre bug: J'ai mis le deuxième paramètre de check_state entre ' ', sinon il s'exécutait Code html :
<input type="button" id="btn" name="btn" value="start" onclick="javascript:check_state(document.getElementById('test_val').value, 'display()')" />
J'ai modifier la fonction pour qu'elle soit récursive Code :
Tu sais pourquoi? Merci pour le coup de main. |
||
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Et si je mets ça va me sortir du café ? ![]() Les attributs d'événements attendent déjà du JavaScript, il est inutile d'utiliser une pseudo-url ! Tu as regardé le message de Watilin ? Code :
check_state(document.getElementById('test_val').value, 'display()')
__________________
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
|
|
|
#6 |
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 6 ![]() |
Oui j'ai lu, mais j'étais en train de rédiger quand il a envoyé sa réponse.
J'e l'applique et je vous reviens... |
|
|
00
|
|
|
#7 | ||||
|
Invité de passage
![]() Inscription : décembre 2008 Messages : 6 ![]() |
Merci Watilin.
J'ai appliqué tes correctifs et ça marche! Code :
Code :
Pour ce qui est de la programmation évènementielle, quand je serai grand, je m'y appliquerai, pour l'instant, cette solution est plus de mon calibre... Merci à tous pour votre support et vos bons conseils.
|
||||
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Inscription : mars 2008 Messages : 2 694 ![]() |
♪ C'est alors que je l'ai reconnu, surgissant du passé, il m'était revenu. ♫
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com