Ajax, problème de base.

Fermé
inot-na - 18 janv. 2010 à 14:47
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 18 janv. 2010 à 18:13
Bonjour,

J'ai un soucis, un truc tout basique, alors je vais faire court :

J'ai un formulaire avec method="POST" et action="VERIF.php", avec un champ texte où l'on y met son adresse mail et un simple bouton.

J'ai fait en sorte a ce que : lorsqu'on clic sur ce bouton, AJAX verifie si l'email n'est dans la base, et si le format est correct. Dans le cas contraire il m'écrit un message d'erreur, mais le le bouton ne s'active pas.

Seulement, si tout est OK ( et là je sais pas faire ) c'est qu'on active la méthode post est que le bouton fasse comme si que yavais jamais eu d'ajax pour l'empêcher de travailler, c'est a dire de charger la page VERIF.php.

J'espere que vous avez compris ce que je veux dire :)
Merci d'avance

Inot-nA

11 réponses

azerwhite Messages postés 625 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 7 novembre 2011 43
18 janv. 2010 à 14:48
C'est quoi pour toi l'Ajax ?
0
Du javascript qui travaille côté serveur...
Dans mon code, il vérifie dans la base de donnée si l'adresse mail n'y est pas deja.

Mais il est vrai que je me suis certainement mal exprimé, car mon problème se résoud par du javascript.
0
azerwhite Messages postés 625 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 7 novembre 2011 43
18 janv. 2010 à 15:06
Bon, si je peux me permettre tu n'as pas tout saisie de l'ajax mais c'est normal c'est pas évident la première fois.
Si tu veux tu peux tout faire en php dans ton cas. Tu fais une expression régulière qui vérifie si c'est bien un email, tu trouveras des exemples de ces expressions en le cherchant sur le net.
Et si c'est le cas, tu fais une requête sql qui cherche l'email entré dans ta bdd et si tu récupères rien ben, c'est bon. Le tout ce fais quand tu appuis sur valider,dans le fichier appelé par la méthode POST.
Sinon tu fais l'expression régulière en JS si c'est bon, tu fais que le JS appel du php qui fait ça requête SQL etc Et dans ce cas là alors tu peux le faire avant que la personne valide la formulaire.
A toi de voir
0
blankit Messages postés 24 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 18 janvier 2010
18 janv. 2010 à 15:12
Comment fait tu référence à l'email que tu dois contrôlé ?
0
azerwhite Messages postés 625 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 7 novembre 2011 43
18 janv. 2010 à 15:13
J'ai pas compris la question
D'ailleurs je sais même pas si elle m'est adressé!
Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
blankit Messages postés 24 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 18 janvier 2010
18 janv. 2010 à 15:21
Non, elle était adressé à ino, car j'ai une fonction que j'ai faite qui permet par un simple appel de fonction faire de l'ajax basic. En donnant comme paramètre par exemple le div à changer, les paramètres de l'url à transmettre et le fichiers à appelé.
Je demandais la question de l'email pour modifier un peu mon code pour son cas.
0
D'abord, merci pour vos réponses.

azerwhite, je ne suis pas sur que tu es compris le sens de mon problème, ce que je ne parvient pas à faire, c'est à "déclencher" le bouton submit lorsque tout vas bien.

Actuellement, je vérifie si l'email est dans le bon format, et si elle ne se trouve pas dans ma BDD ( tout ca, c'est OK ). Dans le cas contraire j'affiche une erreur.

Et si tout est bon, je veux exécuter le script PHP qui permet d'insérer l'adresse dans la base, par l'intermediaire de mon bouton submit

Attention, si l'utilisateur a désactivé son javascript, je veux que mon bouton submit puisse faire son boulot comme si de rien était.



blankit,, ton script peut-il respecter ma dernière condition ci-dessus ?

Et désolé, je ne comprend pas ce que tu veux dire par "faire référence...", l'adresse est entré par l'utilisateur dans un <input type="text" />



Existe-il en javascript la possibilité de simuler le clic sur un bouton ou de le déclancher ?
0
blankit Messages postés 24 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 18 janvier 2010
18 janv. 2010 à 16:06
Mon script se lance à partir du javascript et le javascript est lancé à partir d'un événement (clique, changement de valeur dans un champs, etc...)

Je vois ce que tu veux faire,

l'utilisateur remplit le champs email
l'utilisateur clique sur le bouton
l'AJAX contrôle le mot de passe

est ce que le contrôle du mot de passe fonction ??

si oui, il suffit juste d'ajouter après le test de l'email

if(email==emailAJAX){
document.location.href = 'http://monSite.com';
}else{
//affiche erreur
}
0
azerwhite Messages postés 625 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 7 novembre 2011 43
18 janv. 2010 à 16:34
<form id="formAjoutSociete" action="ajoutSocieteAjax.php" onsubmit="ajouterSociete(); return fasle;" type="post">

Le ''onsubmit'' va faire ta fonction JS et après cela passera à ''action'' qui fera ton php
0
Merci blankit, je n'avais pas pensé à cette solution alternative que le redirectionnement. ( au fait, je n'ai jamais parlé de mot de passe ;) )

azerwhite, peux tu m'expliquer comment fonctionne le "return fasle", et son intérêt ? s'il permet d'annuler le "submit", c'est pile ce que je cherche.
0
blankit Messages postés 24 Date d'inscription lundi 18 janvier 2010 Statut Membre Dernière intervention 18 janvier 2010
18 janv. 2010 à 17:08
Je voulais dire d'email =)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
18 janv. 2010 à 18:13
<form id="formAjoutSociete" action="ajoutSocieteAjax.php" onsubmit="ajouterSociete(); return fasle;" type="post">
c'est pas tout à fait dans ce sens qu'il faut prendre le pb

<form id="formAjoutSociete" method="post" action="ajoutSocieteAjax.php" onsubmit="return verifier_mail();">


....

<input type="submit" name="envoyer" value="Envoyer">
 


et tu creer une fonction javascript
function verifier_mail(){
//condition qui verifies si mail bien formé
if(  ........){
   alert("adresse mail non comforme !");
   return false; //ça va empécher le formulaire de partir
}
//appel requette ajax
.................
//et quand on reçoit la réponse si padresse déja existante
if(.......){
   alert("adresse déja prise !");)
return false;  //ça va empécher le formulaire de partir
}
//aucune erreur trouvée donc on autorise l'envoi du formulaire
return true;
}
0