[AJAX] Verification formulaire automatique
Bonjour,
j'ai un nouveau probleme dans mon apprentissage de AJAX.
Je souhaite faire une verification d'un formulaire en AJAX, mais evidemment ca ne marche pas alors que j'en ai fait un autre qui marche.
Je voudrais donc savoir pourquoi celui ci ne fonctionne pas.
Ma page index.html:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<html>
<head>
<script type="text/javascript" src="verif_nom.js"></script>
</head>
<body>
<form name="formulaire" id="formulaire">
<input type="text" size="40" name="nom" id="nom" value="" onKeyup="verif_nom()" /><img id="image_nom" src="images/vide.jpg" alt="Etat Nom" /><br /><br />
</form>
</body>
</html> |
Donc ici juste un formulaire, et pour l'exemple je veut verifier que le nom entré fait 2 caracteres ou plus.
Mon fichier verif_nom.js:
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 51 52 53 54 55 56 57
|
function verif_nom()
{
var xhr;
var contenu = document.getElementById("nom").value;
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.open("POST", "verif_nom.php", true);
xhr.onreadystatechange = function()
{
verif_nom_alert(xhr);
};
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var data = "donnee=" + contenu;
xhr.send(data);
}
function verif_nom_alert(xhr)
{
if(xhr.readyState == 4)
{
if(xhr.responseText == '1')
{
document.image_nom.src = "images/mauvais.jpg";
setTimeout("verif_nom()",500);
}
else if(xhr.responseText == '2')
{
document.image_nom.src = "images/bon.jpg";
setTimeout("verif_nom()",500);
}
else
{
document.image_nom.src = "images/vide.jpg";
setTimeout("verif_nom()",500);
}
}
} |
Donc ici je dis que si mon pseudo est bon je met l'image bon.jpg, si il fait 1 caractere je met mauvais.jpg, et si il n'y a rien je met vide.jpg.
Mon fichier verif_nom.php:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<?php
$nom = $_POST['donnee'];
if(strlen($nom) = 0)
{
echo '0';
}
else if(strlen($nom) = 1)
{
echo'1';
}
else
{
echo'2';
}
?> |
Voilà donc c'est simple comme code, j'en ai fait un qui verifie la taille et les caracteres d'un pseudo qi marche, et celui là je ne sais pas pourquoi, mais il ne marche pas ....