InternalError:太多的递归 - 进入jquery

问题描述:

我有一个aspx页面,需要时间来发布由于toomany代码和db连接。这不是问题。当用户点击它时,我需要禁用帖子按钮,这是我能够做到的。我想完成的第二件事是将按钮值更改为Please Wait ....要完成此操作,我正在使用settime,以便每隔1秒后将一个点附加到它上面。但是当我运行代码时,我得到InternalError:太多的递归?InternalError:太多的递归 - 进入jquery

请帮忙我的代码如下。

<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); 
} 
+1

它应该是'的setTimeout(showmsg,1000 );'而不是'setTimeout(showmsg(),1000);''setTimeout()'期望函数(或字符串中的JS)作为参数,而不是函数的返回值(除非返回值是函数) – techfoobar

+0

是的是的我得到它感谢您的快速回复。 – Ratna

你是不是传递showmsg的功能,但你正在执行它! 更换每

的setTimeout(showmsg(),....) 到

的setTimeout(showmsg,......)

试试这个

setTimeout(showmsg, 5000); 

,让我知道