我需要在更新面板中关闭/打开查询输入掩码

时间:2012-04-17 22:40:16

标签: jquery asp.net

我在DotNetNuke框架中使用了一个ascx控件,允许用户在一个文本框中输入一个电话号码。它需要一个输入掩码(999)999-9999和一个复选框,可以关闭/打开输入掩码以允许输入国际号码。 当我测试Chrome时,我遇到了asp.net ajax控件工具包的几个问题所以我决定尝试使用jquery.maskedinput-1.3.min.js扩展的jQuery,即使我是新手 我通过在脚本部分添加以下代码来应用蒙版,但复选框只能使用一次。 我认为这是因为文本框位于更新面板中。该复选框已启用autopostback,但我不知道如何捕获该事件以强制重新加载javascript。

    jQuery(document).ready(function () {
        jQuery(".primarymask").mask("(999) 999-9999");

        jQuery("input[name=ckbIntPrimaryPhone]").click(function () {
            if (jQuery(this).is(":checked")) {
                jQuery(".primarymask").mask("");
            }
            else {
                jQuery(".primarymask").mask("(999) 9999-9999");
            }
        }); 
    });

我尝试使用下面的代码,然后重复js功能,但是只有点击后面具才会消失,然后一直回来。

    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function () {

\ }

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

将此代码放入ascx / aspx代码文件

<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" syncPostBackTimeout="70" runat="server" />

<script language="javascript" type="text/javascript">
    Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(update_start);
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(update_end);
    function update_start(sender, args) {
        // code here executes when update panel begins to update
    }

    function update_end(sender, args) {
        // code here executes when update panel is done updatinging
    }
</script>

答案 1 :(得分:0)

使用__dopostback('updatePanelId')MSAjax刷新updatepanel