Bonjour,
Je me suis inspiré du tuto ajax sur developpez.
J'ai développer une fonction qui, apres renseignement dans un formulaire va verifier si l'email saisie n'existe pas dans la base.
Si il existe il va remettre le champs à 0.
Ca fonctionne impeccable sous IE, sous opéra mais pas sous Firefox. (Pas de message d'erreur, rien nada)
Une idée?
Merci.
Voici le code JAVASCRIPT:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 <script type='text/javascript'> function getXhr(){ var xhr = null; if(window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; } function checkemail(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste if(leselect>0){ alert("Cet email est déja inscrit dans notre base, veuillez en saisir un autre ou redemander votre mot de passe !!!"); document.formulaire.email.value=''; } } } // Ici on va voir comment faire du post xhr.open("POST","outils/checkmail.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // ne pas oublier de poster les arguments // ici, l'id de l'auteur sel = document.getElementById('email'); email = sel.value; xhr.send("email="+email); } </script>
Voici le code du formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <form name="formulaire" method='post' onSubmit="return verif_formulaire()"> <input type='text' name='email' size='40' maxlength='256' value='' onblur='checkemail()'/> <input type="submit" value="ENREGISTRER" /> </form>
Voici le code sur le fichier php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php include "outils.php"; connectionBDD();//on se connecte à la base if(isset($_POST["email"])){ $objet = new candidat();// on a un objet qui va retourner le nombre de resultats $insererUtilisateur = $objet -> testCandidat($_POST["email"]); echo $insererUtilisateur; //on retourne le nombre de resultats à Mr AJAX } deconnectionBDD();//on se deconnecte ?>
Partager