我有button
和dropdownlst
我有这个脚本:
$("form").submit(function (e)
{
$('#divOverlay').show();
});
我的目标:
当表单提交时,我需要显示一个" loading 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>
它确实提交了我不看到div:
为什么$("form").submit(function (e)
无法捕获选定索引更改后发生的回发? ?
注意:
Fiddler将这两个事件(按下按钮和&amp;&amp;更改索引)显示为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>
您能否显示发送到服务器的两个请求之间的区别? **Yes 。**
右侧是索引更改时,左侧窗格是按下按钮
答案 0 :(得分:2)
有一个ASP.NET的方法:ClientScript.RegisterOnSubmitStatement,它允许您在每次提交HtmlForm时运行JavaScript语句
ClientScript.RegisterOnSubmitStatement(this.GetType(), "divOverlayShow", "$('#divOverlay').show();");
答案 1 :(得分:1)
我想autopostback行为是通过javascript和__doPostBack()
调用来提交表单,这不会触发提交事件。
您可以尝试:
<asp:DropDownList onchange="$('#divOverlay').show();" runat="server" OnSelectedIndexChanged="OnSelectedIndexChanged" AutoPostBack="True">
答案 2 :(得分:0)
不确定,听起来像DDL的回发和不同的形式。
无论如何我会建议你简单地通过从DDL中删除autopostback来解决并添加一个客户端onchange,你可以在其中显示灰色div然后手动回发服务器端onselect,如下所示: http://bresleveloper.blogspot.co.il/2012/05/force-updatepanel-postback.html 或者只是$(“表格”)。submit()
答案 3 :(得分:0)
不确定这是否会有所帮助,但这对我有用。我可以在两个事件中显示叠加div。
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
$(document).ready(function () {
$("form").submit(function (e) {
alert("Submit");
});
$("#dropdown").change(function (e) {
alert("Hi");
});
});
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:Button runat="server" ID="submitbutton" Text="submit"/>
<asp:DropDownList ID="dropdown" ClientIDMode="Static" runat="server" AutoPostBack="True" OnSelectedIndexChanged="OnSelectedIndexChange"/>
</asp:Content>