[AJAX] Code tuto Ajax fonctionne pas sous FF, mais IE et OP sont OK
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:
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:
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:
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
?> |