|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Bonjour a tous
J'implore votre aide pour un problème que j'ai sur un formulaire d'identification. Jusque là, sans ajax, un simple onsubmit="return ..." fonctionnait, mais avec ajax je me rend compte que ce n'est plus possible.. Donc un formulaire tout bête pseudo/pass: Code html :
Et la fonction js: Code javascript :
La réponse reviens bien, et s'inscrit dans le span, seulement elle n'y reste pas, car le formulaire est quand même envoyé malgré le return false... A l'aide! |
||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() ![]() |
bonjour
et de cette manière ? : Code :
__________________
(marquer un post résolu si vous êtes satisfait de la réponse le chat caramail de retour ? :/ http://www.tchats.net/beta.php les projets web en cours sont sur : https://github.com/rotrevrep |
||
|
00
|
|
|
#3 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Bonjour
Forcément, ça n'envoie pas le formulaire. Mais si les identifiants et mot de passe sont bons, ça ne l'envoie pas non plus. J'ai essayé de rajouter un document.login.submit(); à la case 2, mais ça ne fonctionne pas. |
|
|
00
|
|
|
#4 | ||
|
Membre éclairé
![]() |
Bonjour,
Utilise plutôt l'attribut "action" de la balise "form" au lieu de "onsubmit" Code :
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
|
||
|
|
10
|
|
|
#5 |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Bonjour
En ajoutant cette attribut je n'obtient aucune réponse ou réaction. |
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() |
Les return que tu as mis dans le bloc switch ne sont pas des instructions pour la fonction logMe(), ie logMe() ne renvoie rien. C'est la fonction anonyme que tu as affecté à xhrObj.onreadystatechange qui renvoie ces valeurs.
Donc, au lieu de faire "return true", appelle document.getElementById("formulaire").submit() Les "return false" sont inutiles, on peut les remplacer par break;
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
|
|
|
00
|
|
|
#7 | ||||||
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
soit la balise form comme ceci:
Code html :
le bouton submit: Code html :
et le switch dans cette forme: Code javascript :
ne renvoie encore pas de réponse. J'ai essayé avec un input d'attribut "button" avec un onclick="logMe(this.form)", et la fonction this.form(f), accompagné d'un f.submit(); en case 2 du switch mais rien non plus. |
||||||
|
|
00
|
|
|
#8 | ||||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Citation:
Déjà, parce que ce n'est utile que pour ceux qui ont JavaScript activé (voir l'amélioration progressive), mais aussi parce que comme ça tu ne peux plus soumettre le formulaire... D'autre part, le return ne sert toujours à rien à cause de l'appel asynchrone d'AJAX, la valeur retournée ne correspondant pas à celle attendue. EDIT 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
|
|
|
#9 | ||||
|
Membre éclairé
![]() |
Et il n'y a pas d'erreur dans la console javascript ? car tu as oublié quelque chose sur :
Code :
Code :
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
|
||||
|
|
00
|
|
|
#10 | |
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Citation:
@Hariman Non j'ai essayé mais je n'ai toujours aucune réponse. J'ai cru lire des choses sur un event.stopPropagation et window.cancelBubble, mais j'ai du mal à comprendre comment les utiliser, je ne suis pas sur que ce soit bien ce que je cherche. |
|
|
|
00
|
|
|
#11 | ||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Il faut que tu utilises un mix des différentes solutions proposées.
* Dans ton formulaire, garde le bouton submit (pour que le formulaire puisse fonctionner même si JavaScript n'est pas disponible). * Dans l'attribut action, met une URL alternative pour obtenir un résultat similaire mais sans AJAX (donc avec rechargement de la page). * Dans le onsubmit, appelle ta fonction AJAX avec un return false : si JavaScript est activé, l'action par défaut du bouton submit sera désactivée Code html :
<form method="post" action="url/alternative" onsubmit="logMe(); return false;">
Code :
Eventuellement, tu peux au préalable modifier l'attribut action 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
|
|
|
#12 | ||||
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Solution trouvée, merci Hariman, c'était bien une erreur de ma part.
Bilan Une balise form comme ceci: Code html :
Un bouton: Code html :
Et une fonction logMe(f) avec break; si pas bon, et f.submit(); si ok. Si ça peut servir à quelqu'un d'autre. Merci à tous pour votre aide!
|
||||
|
|
20
|
|
|
#13 | |||
|
Membre du Club
![]() Florian silesWebmaster Inscription : juin 2011 Messages : 59 ![]() |
Citation:
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com