Domanda

ho avuto un sacco di controlli che ho visualizzato, HID, abilitati e disabili sulla base di azioni nella pagina web. Tutto ha funzionato fino a quando li ho messi in una fisarmonica. Ora non riesco a ottenere il Javascript per essere in grado di aggiornare il loro stato. Ho un piccolo esempio

Questo è il Javascript

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

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

Questo è l'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>

Mi piacerebbe sapere che cosa sto facendo male qui l'avviso stampa il giusto ID.

Se faccio qualcosa in cui passo il "questo" oggetto per la funzione è possibile disattivare il pulsante, ma ho veramente bisogno di disattivare, o nascondere come 10 oggetti

Qualcuno ha un'idea?

Codice di esempio a http://www.riconllc.com/accordian.zip

È stato utile?

Soluzione

Qual è lo stato di default della fisarmonica? crollato? Non ho idea di come funziona il Fisarmonica, ma sto sospettando che si sta modificando l'HTML DOM in modo tale che quando la pagina primi carichi "btmRocp" non è effettivamente presente sulla pagina stessa, fino a diventare "visibile". Cioè, si potrebbe iniettando controlli dentro e fuori della pagina, in base allo stato della fisarmonica.

La cosa migliore a capire questo comportamento è quello di inserire "debugger;" dichiarazioni nel tuo pagina in punti appropriati, per ispezionare il DOM dal vivo in quei punti nel tempo.

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

E 'un buon modo per scimmia con lo script nella pagina pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top