le prob est que le script ajax ne fonctionne pas
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
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 la servlet verifpseudo:
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>
NB: je pense que l'erreur ce que n'accede pas à la servlet .Merci de m'aider
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()); } }
Partager