Salut tous le monde !
Voilà alors j'ai un petit problème : j'ai un script ajax qui vérifie si le pseudo choisi lors de l'inscription est disponible, sans recharger la page donc.
Jusque là tous va bien, mes fonctions n'ont aucun paramètres, ça marche. Puis je décide d'étendre ce script à deux champs qu'il doit vérifier.
1. Vérification si le pseudo est déjà pris lorsque le user tape dans le champ dédié au pseudo.
2. Vérification si le nom de la ville choixie est déjà utilisé lorsque le user tape dans le champ dédié au nom de ville.
Donc j'ai ajouté deux paramètre à mes fonctions: fonction(id,reponse)
Id est utilisé pour l'id du champ, histoire de l'attraper ensuite. reponse est l'id du conteneur ou j'enverrai la réponse comme quoi le pseudo et ville choisi est disponible, ou pas.
Voici donc mes deux champs HTML:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <td><label for="pseudo">Identifiant:</label></td> <td><input type="text" onkeyup="javascript:envReq('iden','dispo');" name="iden" id="iden" /></td> <td width="200"><span id="dispo"></span></td> <td><label for="ville">Nom de votre ville: </label></td> <td><input type="text" onkeyup="javascript:envReq('ville','dispoVille');" name="ville" id="ville" /></td> <td width="200"><span id="dispoVille"></span></td>
Jusque là tout va bien, j'ai fait des tests, les fonctions JS qui vont suivre se lancent bien, les variables se transmettent bien via les paramètres de la focntion. Voici donc le JS:
Code javascript : 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 function envReq(id,reponse) { if (document.getElementById(id).value.length > 4){ if (document.getElementById(id).value != "") { objRequete.open('get', 'autres/suggest.php?type='+reponse+'&nom='+escape(document.getElementById(id).value.toLowerCase()), true); objRequete.onreadystatechange = traiteReponse(id,reponse); objRequete.send(null); } else { document.getElementById(reponse).style.visibility = "hidden"; } } } function traiteReponse(id,test) { document.getElementById(test).style.visibility = "visible"; if (objRequete.readyState == 4) { document.getElementById(test).innerHTML = objRequete.responseText; } } objRequete = creeXMLHttpRequestObject();
Je vous épargne la fonction qui crée l'objet étant donné qu'elle marche.
Maintenant ca va jusque là, j'ai aucune erreur JavaScript, mais le script ne va pas jusqu'au fichier php car quand je fait un test en affichant un mot au début du fichier php rien ne se passe. Voici ce fameux fichier:
Code php : 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 <?php include("../connexion.php"); If (($_GET['type'] != "") && ($_GET['type'] == 'iden')) { $requete = mysql_query("SELECT * FROM membres ORDER BY 'id' ASC"); $compteur = 0; while($tableau = mysql_fetch_array($requete)) { If ($_GET['nom'] == $tableau['login']) { $compteur = $compteur + 1 ; } } mysql_close(); }If (($compteur != "") && ($compteur > 0)) { echo "<span style='font-size:12px;color:white;'>Cet identifiant est déjà pris.</span>"; } else { echo "<span style='font-size:12px;color:white;'>Cet identifiant est disponible.</span>"; }
Et rien ne s'affiche dans mon conteneur span.
J sais que je viens d vous balancer une grosse quantitié de lignes, mais je galère vraiment sur ce problème. J'ai fait un tas de tests et rien ne se passe, aucune erreur, ni php, ni JS dans Web Develloper ... Posez moi des questions j'ai tout testé ^^
Donc pour rappel le script bloque lors du PHP ...
Merci d'avance.
Partager