le prob est que le script ajax ne fonctionne pas
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
 
<script type="text/javascript">
var bPseudo = false;
function req_pseudo(pseudo) {
 
	//XMLHttpRequest est supporté par Internet Explorer 5.0+, Safari 1.2, Mozilla 1.0 / Firefox, Netscape 7
	if(document.all) var XhrObj = new ActiveXObject("Microsoft.XMLHTTP"); //Internet Explorer
	else var XhrObj = new XMLHttpRequest(); //Mozilla
 
	content = document.getElementById("pseudo_check"); 	//zone d'affichage
 
	XhrObj.open("GET", "verifpseudo.java");
 
	//Ok pour la page cible
	XhrObj.onreadystatechange = function()
	{
		if (XhrObj.readyState == 4 && XhrObj.status == 200) {
			if (XhrObj.responseText =="OK") {
				content.innerHTML="<img src="/accepter.png" alt=""/> OK";
				bPseudo = true; // ok nouveau pseudo
			} else {
				content.innerHTML="<img src="/refuser.png" alt=""/> Déjà pris";
				bPseudo = false; // erreur pseudo déjà existant
			}
		}
	}
 
	XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	XhrObj.send('p='+pseudo);
 
}
 
function testChamps(f) {
	bPseudo = false; // on va revalider le champ
	req_pseudo(f.pseudo.value);
	if (!bPseudo) {
	 alert('Erreur pseudo');
	 return false;
	}
	if (f.mdp.value != f.mdp2.value) {
	 alert('Mots de passe différents');
	 return false;
	}
	return true;
}
</script>
voila le code jsp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<body>
<h3>Tester l'existence d'un pseudo en Ajax</h3>
<p>On peut tester avec le pseudo JBL déjà existant ou au autre au hasard qui lui ne le sera pas.</p>
<form method="post" onsubmit="return testChamps(this);">
<p>Choisissez un pseudo : <input type="text" name="pseudo" value="" onblur="req_pseudo(this.value);"> <span id="pseudo_check"></span></p>
<p>Choisissez un mot de passe : <input type="password" name="mdp" value=""></p>
<p>Confirmez le mot de passe : <input type="password" name="mdp2" value=""></p>
<input type="submit" name="Valider" value="Valider">
</form>
</body>
Voila la servlet verifpseudo:

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
 
 
public class verifpseudo extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
 
        ConnexionBD c =new ConnexionBD();
c.driver();
Connection con=c.OpenConnexion();
 int k=0;
 
try {
String sql="select * from visitnoneffectue";
con.setAutoCommit(false);
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(sql);
con.commit();
boolean trouve=false;
PrintWriter out = response.getWriter();
while(!trouve & rs.next()){
 if(rs.getString(3).equals(request.getParameter("pseudo"))){
 
          out.println("OK");
          trouve=true;
      }
 
}
if(!trouve) {out.println("FAIL");}
        }
catch(Exception e)
{
 
System.out.println("Echec de l'exécution de la requête sql :"+e.getMessage());
 
}
 
 
    }
NB: je pense que l'erreur ce que n'accede pas à la servlet .Merci de m'aider