我有一个aspx页面,由于toomany代码和数据库连接,需要花时间发布。那不是问题。我需要在用户点击它时禁用帖子按钮,我可以这样做。我想要完成的第二件事是将按钮值更改为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);
}
答案 0 :(得分:1)
试试这个
setTimeout(showmsg, 5000);
让我知道
答案 1 :(得分:1)
您没有将showmsg作为函数传递,但您正在执行它! 替换每个
的setTimeout(的 showmsg()下,....) 到
的setTimeout(的 showmsg 下,.....)