Ajax, problème de base.
inot-na
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
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
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
A voir également:
- Ajax, problème de base.
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Formules excel de base - Guide
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
- Gigaset ne reconnait plus sa base - Forum telephonie fixe
11 réponses
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.
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.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
Je demandais la question de l'email pour modifier un peu mon code pour son cas.
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 ?
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 ?
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
}
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
}
<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
Le ''onsubmit'' va faire ta fonction JS et après cela passera à ''action'' qui fera ton php
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.
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.
<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
et tu creer une fonction javascript
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;
}