表单提交事件是不是捕获OnSelectedIndexChanged?

Roy*_*mir 8 html javascript forms asp.net jquery

我有一个button和一个dropdownlst

在此输入图像描述

我有这个脚本:

$("form").submit(function (e)
    {
        $('#divOverlay').show();
        });
Run Code Online (Sandbox Code Playgroud)

我的目标 :

当表单提交时,我需要显示"加载div":

题 :

当我按下按钮时它显示div(灰色div闪烁一秒钟):

在此输入图像描述

但是当我在下拉列表中更改索引时:

<asp:DropDownList runat="server" OnSelectedIndexChanged="OnSelectedIndexChanged" AutoPostBack="True">
    <asp:ListItem Value="a"> a</asp:ListItem>
        <asp:ListItem Value="b">b</asp:ListItem>
</asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

它提交bUt我看到div:

在此输入图像描述

为什么不$("form").submit(function (e)捕获选定索引更改后发生的回发??

NB:

Fiddler将两个事件(按下按钮&&更改索引)显示为POST命令

该文件的结构是什么?(伪):

<html  >
<head>
 ...     
</head>
<body>
    <div id='divOverlay'>  
       ...
    </div>

        <form id="form1" runat="server"  >
            <asp:Button runat="server" Text="sssssss"/>
        <asp:DropDownList runat="server" OnSelectedIndexChanged="OnSelectedIndexChanged" AutoPostBack="True">
            ...
        </asp:DropDownList>

        </form>


        <script type="text/javascript">
            $(function()
                {
                    $("form").submit(function (e)
                    {
                            $('#divOverlay').show();
                    });
                });

        </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

您能否显示发送到服务器的两个请求之间的区别?**是的.**

右侧是索引更改时,左侧窗格用于按下按钮

在此输入图像描述

Ole*_*hko 2

有一个 ASP.NET 的方法:ClientScript.RegisterOnSubmitStatement,它允许您在每次提交 HtmlForm 时运行 JavaScript 语句

ClientScript.RegisterOnSubmitStatement(this.GetType(), "divOverlayShow", "$('#divOverlay').show();");
Run Code Online (Sandbox Code Playgroud)