Cacher/Afficher un panel lors d'un clic sur une balise
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 :
Code:
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> |
Avec dans StyleDossierClient.css :
Code:
1 2 3 4 5 6 7
| .hidden{
display:none;
}
.visible{
display:inline;
} |
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").
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 :)