我在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 () {
\ }
答案 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