|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
Bonjour,
je dois avoir oublier un petit truc mais pas moyen de trouver et je me prend la tete depuis ce matin la dessus, je voudrais que mon formulaire ne s'envoi pas si erreur, voici mon code: Code :
|
||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Parce que ta fonction verification() ne retourne rien.
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
bah si elle retourne false dans le cas ou test==1
et c'est le seul moment qui m'interesse pour interdire l'envoi |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Nope, c'est ta fonction onreadystatechange qui renvoie false, pas la fonction verification().
|
|
|
00
|
|
|
#5 | |||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Citation:
![]() Comme l'indique ton code Code :
Ceci dit, tu t'y prends mal, dans le cas d'une requête asynchrone, la fonction verification() n'attend pas la réponse du serveur pour terminer son exécution et donc tu ne pouuras pas renvoyer la bonne valeur. Tu devras t'y prendre autrement.
__________________
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 : juin 2010 Messages : 19 ![]() |
daccord je comprend mais du coup comment faire là car je suis largué, il faut que je test mon onreadystatechange avant c'est pour ça :s
Edit: Oui justement c'est ce que je vois mais je ne vois pas trop comment faire la :s avec un bouton simple je n'aurais plus accès à la touche entree c'est ça mon probleme surtout |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Par exemple, tu peux lancer la vérification sur un input de type button et non submit et si le résultat est bon, lancer le submit du formulaire.
__________________
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 | ||||
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
C'est ce que j'avais fait au tout début et ça fonctionnais parfaitement mais on m'a reproché le fait que la touche entree ne fonctionne pas et donc je me suis repenché sur le submit car avec le bouton j'avais réussi à faire fonctionner mon button mais j'avais un soucis dès que j'avais une erreur, je ne pouvais plus envoyer le formulaire
voici mon ancien code: Javascript: Code :
Code :
|
||||
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Ou sinon ta fonction onreadystatechange renseigne un booléen déclaré en variable globale et c'est cette variable que tu testes :
Code :
|
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
le formulaire est quand meme envoyé vu que c'est de l'asynchrone
|
|
|
00
|
|
|
#11 | ||
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Ah ben oui mais dans ce cas faut attendre la réponse !
Code :
Le mieux serait de faire un sleep dans la boucle while mais c'est pas implémenté de base en js. Par contre tu peux l'implémenter toi-même. |
||
|
|
00
|
|
|
#12 | ||
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
faudrait pas plutot faire sa?
Code :
|
||
|
|
00
|
|
|
#13 | |||
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Citation:
Là tu n'attends pas que ta méthode finisses, tu vérifies juste si elle a fini. Donc la plupart du temps ce ne sera pas le cas. |
|||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
effectivement oui, mince ton idée était pas mal mais elle fonctionne pas non plus :s
|
|
|
00
|
|
|
#15 |
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Elle devrait pourtant.
![]() Fais voir ton code ? |
|
|
00
|
|
|
#16 | ||
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
j'ai du mal la saisir c'est possible je suis très tête en l'air...
Code :
|
||
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() Tlouye Ci Inscription : mars 2004 Messages : 1 450 ![]() |
Tu n'as pas déclaré la variable canSubmit : Du coup quand ta fonction onreadystatechange essaye de lui affecter "false", javascript plante, le reste du script n'est pas exécuté et ta page se valide.
|
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
effectivement belle erreur de ma part...
Malheuresement ça veux toujours pas :s |
|
|
00
|
|
|
#19 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Si c'est pour attendre la réponse du serveur, autant utiliser un appel synchrone
__________________
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
|
|
10
|
|
|
#20 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 19 ![]() |
lol pas faux
mais je suis trop largué là je me perd dans le code ^^ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com