質問

私は表示されたコントロールの束を持っていた、Webページ内のアクションに基づいて有効と無効、隠しました。私はアコーディオンに入れてまで、すべてが働きました。今、私はJavascriptが自分の状態を更新できるようにすることができません。私は小さな例を持っている。

このはJavascriptである

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

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

これはアコーディオンです。

 <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>

私は警告が正しいIDを出力し、ここで何を私が間違っているのを知るのが大好きです。

私は関数に「この」オブジェクトを渡す何かをする場合は、

私はそのボタンを無効にすることができますが、私は本当にそれが無効、または10個のオブジェクト

のように非表示にする必要があります

誰もがアイデアを持っていますか?

http://www.riconllc.com/accordian.zip の<の

サンプルコード/ P>

役に立ちましたか?

解決

アコーディオンのデフォルトの状態とは何ですか?崩壊?それが「見える」ようになるまで、私はアコーディオンがどのように動作するか分かりませんが、私はそれがページが最初にロード「btmRocp」はページ自体に実際に存在しないようにHTMLのDOMを変更していることを疑っています。つまり、アコーディオンの状態に基づいて、にし、ページのうち、コントロールを注入される可能性があります、です。

この動作を考え出すでの最善の策は、挿入することです「デバッガ;」時間にそれらの点でのライブDOMを検査するための適切なポイントで、あなたのページに文、。

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

同様にあなたのページにスクリプトを使ってサルための良い方法です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top