Question

J'ai eu un tas de contrôles que j'AFFICHES, cachais, activé et désactivé en fonction des actions dans la page web. Tout a fonctionné jusqu'à ce que je les ai mis dans un accordéoniste. Maintenant, je ne peux pas obtenir le Javascript pour pouvoir mettre à jour leur état. J'ai un petit exemple

est le Javascript

 <script type="text/javascript">
  var ctrl = document.getElementById('<%= btmRocp.ClientID %>');

    function ShowPanel(control)
{
    alert('<%= btmRocp.ClientID %>');
    ctrl.disabled = true;
}
</script>   

Ceci est le Accordian

 <form id="form1" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <cc1:Accordion  ID="MyAccordion"
                        runat="Server"
                        SelectedIndex="0"                      
                       >
         <Panes>
            <cc1:AccordionPane ID="accordianPane0" runat=server>
            <Header>Create New Report </Header>
            <Content>a
            <asp:Button ID="Button1"  onmouseup="ShowPanel('') " runat="server" Text="Button" />            
            <asp:Button ID="btmRocp" runat="server" Text="Button" />
            </Content>
            </cc1:AccordionPane>
            <cc1:AccordionPane ID="accordianPane1"  runat=server>
            <Header>Create New Report </Header>
            <Content>b</Content>
            </cc1:AccordionPane> 
            </Panes>

        </cc1:Accordion>

J'aimerais savoir ce que je fais mal ici l'alerte imprime l'ID droit.

Si je fais quelque chose où je passe la « cet » objet à la fonction i peut désactiver ce bouton, mais je dois vraiment pour désactiver ou masquer comme 10 objets

Quelqu'un at-il une idée?

Exemple de code http://www.riconllc.com/accordian.zip

Était-ce utile?

La solution

Quel est l'état par défaut de l'accordéon? s'est effondré? Je ne sais pas comment l'accordéon fonctionne, mais je suis soupçonner qu'il est en train de modifier le DOM HTML de telle sorte que lorsque la page charges « btmRocp » ne sont pas réellement présentes sur la page elle-même, jusqu'à ce qu'il devienne « visible ». Autrement dit, il pourrait injecterait des contrôles dans et hors de la page, en fonction de l'état de l'accordéon.

Votre meilleur pari en déterminer ce comportement est d'insérer « débogueur; » déclarations dans votre page des points appropriés, d'inspecter les DOM en direct à ces points dans le temps.

<textbox id="debugbox" onblur="this.value = eval(this.value);"></textbox>

est un bon moyen de singe avec le script sur votre page ainsi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top