繁体   English   中英

在updatepanel部分回发后运行javascript

[英]run javascript after updatepanel partial postback

我在页面标题中具有JavaScript函数,用于更改页面中内容的可见性:

<script type="text/javascript">
// <![CDATA[
    function toggleVis(id1, id2, id3) {
        var element = document.getElementById(id1).style.visibility;
        if (element == 'hidden') {
            document.getElementById(id1).style.visibility = 'visible';
            document.getElementById(id2).style.visibility = 'visible';
            document.getElementById(id3).style.visibility = 'visible';
        }
        else {
            document.getElementById(id1).style.visibility = 'hidden';
            document.getElementById(id2).style.visibility = 'hidden';
            document.getElementById(id3).style.visibility = 'hidden';
        }
    }

// ]]>
</script>

当我在带有单选按钮的updatepanel中使用它时,它可以工作:

<dx:ASPxRadioButton ID="RB1" CssClass="btnInline" runat="server" Text="Yes">
<ClientSideEvents CheckedChanged="function(s, e) { toggleVis('Label33', 'textbox','Label34');}" />
</dx:ASPxRadioButton>
<dx:ASPxLabel ID="Label33" CssClass="btnInline" runat="server" Text="Label33" Style="visibility: hidden" />
<dx:ASPxTextBox ID="textbox" CssClass="btnInline" runat="server" Style="visibility:hidden" Width="40px" />
<dx:ASPxLabel ID="Label34" CssClass="btnInline" runat="server" Text="Label34" Style="visibility: hidden" />

问题是当我单击清除表单的按钮后,通过检查单选按钮,javascript无法正常工作。 我已经尝试了一些互联网上的东西,但是我做不到,对不起我的英语。

使用add_endRequest() 它将在部分回调中触发。

<script type="text/javascript">
  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(toggleVis);
</script>
  • .aspx页中的上述代码放入<head>标记中。 将工作 :)

Prog是正确的,当页面部分回发时,将不会调用您的函数。 为了确保每次您都要调用它时都会调用它:window.onload = function(){toggleVis(id1,id2,id3); Sys.WebForms.PageRequestManager.getInstance()。add_endRequest(toggleVis);}; 函数toggleVis(id1,id2,id3){}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM