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
?>