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

JavaScript有时会阻止asp.net触发服务器事件,javascript,asp.net,Javascript,Asp.net,我有一个我认为非常简单的javascript问题,但我开始发疯,试图找出我的问题 我有一个缓慢的页面,用户可以单击提交,然后在等待页面加载时单击另一个按钮,这会产生问题。我想我可以显示“请等待”消息,并在单击时禁用“提交”按钮。下面是函数,我使用的是asp.net 3.5,因此出现了名称混乱问题,因此我使用了getElemenetsByName并扫描了正确的项目(虽然不是很好,但似乎很有效)。当我运行这个时,按钮被禁用,但是页面就在那里,服务器永远不会被调用。我在firefox中尝试过,但在fi

我有一个我认为非常简单的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;
}

你知道我搞砸了什么吗

谢谢您抽出时间。


我遇到了相同类型的问题,这可能有帮助,也可能没有帮助。

请通过查看呈现HTML的源代码来验证标记名是否正确。由于asp.net名称损坏,呈现的HTML提供了非常长的名称标记(我想这在以后的asp.net版本中得到了解决)因此,它类似于contentBasepage\uC1\uPopupModal\uBtnSubmit,用于名称和ID标记。编辑:我也认为这是正确的,因为它似乎找到了按钮,禁用了它,并显示了等待文本,但是服务器没有被调用。它就在那里。呈现的HTMLis:input type=“submit”name=“ctl00$mainContentHolderMVPTO$btnSubmit”class=“button main”id=“ctl00\u mainContentHolderMVPTO\u btnSubmit”onclick=“javascript:processing();”value=“submit”
 asp:Button ID="btnSubmit" name="btnSubmit" SkinID="MainAction" runat="server" Text="Submit" OnClientClick = "javascript:processing();"
 OnClick="btnSubmit_Click" meta:resourcekey="btnSubmitResource1"