Bonsoir,

Voila je développe une petite page mélant JQuery et 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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
 
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Inscription / Connexion</title>
<script src="scripts/jquery-1.3.1.min.js" type="text/javascript"></script>
<script src="scripts/init.js" type="text/javascript"></script>
<link href="styles/style.css" rel="stylesheet" type="text/css" />
</head>
 
<body>
 
<div id="header">
	<br />
	<br />
	<br />
	<br />
</div>
<div id="container">
	<div id="page">
		<div id="client">
		</div><!-- end client -->
	</div><!-- end page -->
</div><!-- end container -->
<div id="footer">
	<br />
	<br />
</div>
 
</body>
 
</html>
Dans le script init.js on fait un load sur la div client de la page identification.jsp.

Cette page contient deux item qui sont Se connecter et S'inscrire qui sont des menus "déroulants" que JQuery va faire apparaitre en doucher :

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
function initializeMenu() {
	var vitesse = 1000;
 
	$("#identification_slide").hide();
	$("#inscription_slide").hide();
 
	$("#identification_slide_ctrl").click(function () {
		$("#identification_slide").toggle("slide",{ direction: "up" }, vitesse);
		if ( $("#inscription_slide").is(':visible') )
			$("#inscription_slide").hide("slide",{ direction: "up" }, 500);
    });
 
	$("#inscription_slide_ctrl").click(function () {
      $("#inscription_slide").toggle("slide",{ direction: "up" }, vitesse);
      if ( $("#identification_slide").is(':visible') )
	      $("#identification_slide").hide("slide",{ direction: "up" }, 500);
    });
}
 
$('#identification_jsp').ready(initializeMenu());
La div identification_jsp est la div qui contient ces deux menus.

Lorsqu'on clique sur chaque menu celui-ci s'ouvre lentement, puis on saisi son login et son mot de passe, on fait valider et là on utilise JQuery qui fait un appelle à la page de vérification sans recharger toute la page, puis on recharge dans la page index.jsp la partie Client avec identification.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
$('#identification_jsp').ready(function(){
	$('#disconnect').click(function() {
	    $.get('disconnect.jsp',{
            login: $('#iLogin').val(),
            password: $('#iPassword').val()
          }, function() {
       	   $('#client').load('identification.jsp');
          });
	    alert('fin de la fonction de deconnection');
	});
 
	$("#frmIdentif").submit(function(){
	       $.get('identification-xml.jsp',{
	             login: $('#iLogin').val(),
	             password: $('#iPassword').val()
	           }, function() {
	        	   $('#client').load('identification.jsp');
	           });
	       return false;
	 });
});
Jusque là tout va bien.

Si l'identification s'est bien passée, on n'affiche plus la même chose dans la page, on affiche Mon Compte et Se Déconnecter.

En cliquant sur déconnecter, on se déconnecte et on re load la page identification.jsp dans la partie client.

Et c'est là qu'est le problème, les scripts pour mes menus ne fonctionnent plus !

dans la page identification.jsp, il y a ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<script src="scripts/effects.core.js" type="text/javascript"></script>
<script src="scripts/effects.slide.js" type="text/javascript"></script>
<script src="scripts/menu.js" type="text/javascript"></script>
<script src="identification.js" type="text/javascript"></script>
 
<div id="identification_jsp">
<%@page import="ide.IdentifierEJB"%>
        <jsp:useBean id="ident" class="ide.IdentifierEJB" scope="session"></jsp:useBean>
        <% if ( ident.getState() == IdentifierEJB.loggedin ) {...
        } else {....
        }%>
</div>
Est-ce que savez d'où cela peut il venir ?

Merci d'avance.