【发布时间】:2014-04-22 14:56:12
【问题描述】:
我有三个更新面板。现在我只实现了一项功能,即在单击更新面板时禁用按钮并在请求结束后启用它。由于对 javascript 的了解很少,我为此创建了三个函数:
<script>
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler1);
function BeginRequestHandler1(sender, args) {
document.getElementById('<%=btn_Login.ClientID%>').innerText = "Processing..";
$('#btn_Login').attr('class', 'btn-inactive');
args.get_postBackElement().disabled = true;
}
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler2);
function BeginRequestHandler2(sender, args) {
document.getElementById('<%=btn_Subscribe.ClientID%>').innerText = "Processing..";
$('#btn_Subscribe').attr('class', 'btn-inactive');
args.get_postBackElement().disabled = true;
}
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler3);
function BeginRequestHandler3(sender, args) {
document.getElementById('<%=btnsubmit.ClientID%>').innerText = "Processing..";
$('#btn_Subscribe').attr('class', 'btn-inactive');
args.get_postBackElement().disabled = true;
}
</script>
这里三个是用于处理三个 diff btoon 请求的 diff 脚本。在这里,我想制作一个通用脚本来识别哪个按钮使用 id 发出回发请求,然后只有它的行为会被改变。
请帮帮我...
【问题讨论】:
-
无论
Sys.WebForms.PageRequestManager是什么,我都帮不了你,但我建议给这些函数起不同的名字。上面的代码每次都使用你想要的函数调用add_beginRequest,但是它起作用的 reason 有点模糊,如果你将这些脚本标签组合成一个脚本标签,它会失败(所有三个调用都将使用 lastBeginRequestHandler函数)。这有点微妙。 -
在表单中输入
hidden并在提交前设置值。 -
与问题无关,但您在所有函数中使用基本完全相同的行为,将它们组合成一个,并传递元素的 id,例如:'#btn_Login' 作为参数。跨度>
-
@Zarich - 你能用代码解释一下吗?
标签: javascript jquery