JavaScript有时会阻止使用asp.net触发服务器事件

时间:2011-05-05 16:45:54

标签: javascript asp.net

我认为这是一个相当简单的javascript问题,但我开始疯狂地试图弄清楚我的问题。

我的页面很慢,用户可以点击提交,然后在等待页面加载时点击另一个按钮,这就是创建问题。我以为我可以显示请等待的消息,并在点击时禁用提交按钮。下面是函数,我使用的是asp.net 3.5,因此有一个名称错误问题,因为我使用了一个getElemenetsByName并扫描正确的项目(不是很棒,但它似乎工作)。当我运行它时,该按钮被禁用,但随后页面就在那里,服务器永远不会被调用。我在firefox中尝试过,我没有看到firebug中的任何错误,但是当我在服务器上设置断点时,服务器def不会被调用。我尝试返回true,以防有预期的输出,但是nada。当我赞扬processing(){ // stuff }的内容时,它工作正常,所以那里的东西似乎在杀我。

function processing() {
    var pleaseWaitID = "lblPleaseWait";
    var submitBtnName = "btnSubmit";
    var submitControl = document.getElementsByTagName('input');

    var pleaseWaitlbls = document.getElementsByName(pleaseWaitID);

    for (pleaseWait in pleaseWaitlbls) {
       if (pleaseWaitlbls[pleaseWait].style != null) {
            pleaseWaitlbls[pleaseWait].style.visibility="visible";
       }
    }

    for (submitButton in submitControl) {
       if (submitControl[submitButton].name != null) {
           if (submitControl[submitButton].name.search(submitBtnName) != -1) {
               submitControl[submitButton].disabled = "disabled";
           }
       }
    }

    return true;
}

.....

 asp:Button ID="btnSubmit" name="btnSubmit" SkinID="MainAction" runat="server" Text="Submit" OnClientClick = "javascript:processing();"
 OnClick="btnSubmit_Click" meta:resourcekey="btnSubmitResource1"

关于我搞砸了什么的任何想法?

谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

Asp.net Custom user control button. How to stop multiple clicks by user

我有同样类型的问题,这可能会或可能没有帮助。