【发布时间】:2013-10-11 08:03:39
【问题描述】:
由于代码和数据库连接过多,我有一个 aspx 页面需要花费一些时间才能发布。那不是问题。当用户单击我可以执行的操作时,我需要禁用发布按钮。我要完成的第二件事是将按钮值更改为 Please Wait ...。为此,我使用 settime out 以便每 1 秒后附加一个点。但是当我运行代码时,我得到 InternalError: too much recursion?
请帮忙 我的代码如下。
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Submit" OnClientClick="return disable();" />
JS
var m = "Please Wait";
function disable() {
try {
$("input[type=submit]").attr("disabled", "disabled");
setTimeout(showmsg(), 5000);
} catch (e) {
alert(e);
}
return true;
}
function showmsg() {
if (m.length > 15) {
m = "Please Wait";
}
m = m + ".";
$("<%=Button1.ClientID %>").val(m);
setTimeout(showmsg(), 1000);
}
【问题讨论】:
-
应该是
setTimeout(showmsg, 1000);而不是setTimeout(showmsg(), 1000);-setTimeout()期望一个函数(或字符串中的 JS)作为参数,而不是函数返回值(除非返回值是一个函数) -
是的,我知道了,感谢您的快速回复。
标签: javascript jquery asp.net