【问题标题】:.net Accordion Causing me Problems.net 手风琴给我带来了问题
【发布时间】:2008-12-18 17:57:00
【问题描述】:

我有一堆控件,我根据网页中的操作显示、隐藏、启用和禁用这些控件。一切正常,直到我把它们放进手风琴。现在我无法让 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。

如果我将“this”对象传递给函数,我可以禁用该按钮,但我确实需要它来禁用或隐藏 10 个对象

有人有想法吗?

http://www.riconllc.com/accordian.zip 的示例代码

【问题讨论】:

  • 你能解释一下你真正想要达到的目标吗??
  • 我正在尝试能够从 javascript 访问手风琴中的控件以控制它们的状态,这有意义吗?
  • 您是否查看了在浏览器中呈现的页面来源,以确保 ClientID 与 HTML 真正匹配?
  • 是的,我确实这样做了,他们确实匹配。
  • 好的,我刚刚在riconllc.com/accordian.zip 上传了我的示例代码,如果有人有时间可以帮助我。

标签: asp.net javascript ajax accordion


【解决方案1】:

手风琴的默认状态是什么?崩溃了?我不知道手风琴是如何工作的,但我怀疑它正在修改 HTML DOM,使得当页面第一次加载时“btmRocp”实际上并不存在于页面本身上,直到它变为“可见”。也就是说,它可能会根据手风琴状态将控件注入页面和退出页面。

找出这种行为的最佳选择是插入“调试器;”在适当的时间点将语句添加到您的页面中,以便在这些时间点检查实时 DOM。

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

也是一种在页面上使用脚本的好方法。

【讨论】:

  • 嗯好的,所以文本框中的值是“未定义”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多