Frage

hatte ich eine Reihe von Kontrollen, die ich angezeigt, verstecken, aktiviert und deaktiviert basierend auf Aktionen auf der Webseite. Alles funktionierte, bis ich sie in eine Ziehharmonika setzen. Jetzt kann ich nicht bekommen die Javascript, um ihren Zustand zu aktualisieren. Ich habe ein kleines Beispiel

Dies ist der Javascript

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

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

Dies ist das 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>

ich würde gerne wissen, was ich falsch hier tue das richtige ID der Benachrichtigung ausdruckt.

Wenn ich etwas tun, wo ich die „dieses“ Objekt an die Funktion übergeben ich diese Taste deaktivieren kann, aber ich brauche es wirklich zu deaktivieren oder verbergen wie 10 Objekte

Hat jemand eine Idee?

Beispielcode unter http://www.riconllc.com/accordian.zip

War es hilfreich?

Lösung

Was ist der Standardzustand des Akkordeons? zusammengebrochen? Ich habe keine Ahnung, wie das Akkordeon funktioniert, aber ich bin zu ahnen, dass es den HTML-DOM wird modifiziert, so dass, wenn die Seite geladen wird „btmRocp“ nicht tatsächlich auf der Seite selbst, bis sie „sichtbar“ wird. Das heißt, könnte es Kontrollen in und aus der Seite, auf der Basis des Akkordeon-Status werden injiziert wird.

Ihre beste Wette in dieses Verhalten herauszufinden ist einzufügen „Debugger“; Aussagen in Ihre Seite an geeigneten Stellen, den Live-DOM zu diesen Zeitpunkt zu untersuchen.

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

Dies ist ein guter Weg, um Affen mit Skript auf Ihrer Seite als auch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top