Bonjour,
J'essaie de cacher ou afficher un panel en fonction d'un clic sur une balise <legend> de mon code aspx.
Voici ma fonction javascript :
Avec dans StyleDossierClient.css :
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 <link rel="StyleSheet" type="text/css" href="../Styles/StyleDossierClient.css" /> <script type="text/javascript"> function NouveauMessage(){ var nouveauMessage = document.getElementById("_ctl0_ContentPlaceHolder1_Echanges1_pnl_message"); if (nouveauMessage==null) alert("nouveauMessage is null"); if (nouveaMessage.className = "hidden"){ nouveauMessage.className = "visible"; } else{ nouveauMessage.className = "hidden"; } } </script> <fieldset> <legend onclick="javascript:NouveauMessage()">Nouveau message</legend> <asp:panel id="pnl_message" runat="server" class="hidden"> ... </asp:panel> </fieldset>
L'id de mon panel n'est pas un problème car ce code est contenu dans un contrôle ascx qui est appelé dans une autre page aspx contenant un ContentHolder ... d'où l'id "_ctl0_ContentPlaceHolder1_Echanges1_pnl_message" (d'ailleurs, pas de message "nouveauMessage is null").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 .hidden{ display:none; } .visible{ display:inline; }
Par contre, quand je clic sur "Nouveau message", rien ne se passe. D'ailleurs <gras>l'intellisense ne me proposait pas les méthodes className que j'ai dû forcer</gras>, contrairement à getElementById qui m'était bien proposé.
Auriez-vous une idée ?
Merci
Partager