由于异常代码和数据库连接,我有一个aspx页面需要花一些时间才能发布。那不是问题。我需要在用户单击它时禁用发布按钮。我要完成的第二件事是将按钮值更改为Please Wait...。要实现此目的,我正在使用settime out,以便在每1秒之后将一个圆点附加到它上面。但是,当我运行代码时,我得到InternalError:太多的递归?
请帮助我的代码如下。
<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);
}
最佳答案
您没有将showmsg作为函数传递,而是在执行它!
更换每一个
setTimeout(showmsg(),....)
至
setTimeout(showmsg,.....)
关于javascript - InternalError:太多的递归-进入jQuery,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19179257/