Asp.net mvc 3 如何使用ajax提交和显示进度防止用户二次单击表单提交
我在ASP.NET MVC 3中有一个登录表单 单击“提交”后,提交表单需要一些时间,因为发生了很多事情。因此,用户可能会再次单击该按钮,认为可能发生了一些错误和非常糟糕的事情 因此,我可能只是启用/禁用按钮,这可能是防止第二次单击的最简单方法,但我宁愿将表单post更改为ajax方式 Si我想做的事情:在用户单击submit后,我想显示弹出窗口/div,说明正在处理的请求并在那里显示某种ajax lader,在处理表单后,我希望用户按照服务器控制器逻辑执行操作。客户端不知道用户将被重定向到哪里 有可能吗?你的意见是什么?我怎样才能做得更好 目前我正在寻找可能会有帮助,但如果你可以建议一些东西,这将是伟大的Asp.net mvc 3 如何使用ajax提交和显示进度防止用户二次单击表单提交,asp.net-mvc-3,jquery,post,Asp.net Mvc 3,Jquery,Post,我在ASP.NET MVC 3中有一个登录表单 单击“提交”后,提交表单需要一些时间,因为发生了很多事情。因此,用户可能会再次单击该按钮,认为可能发生了一些错误和非常糟糕的事情 因此,我可能只是启用/禁用按钮,这可能是防止第二次单击的最简单方法,但我宁愿将表单post更改为ajax方式 Si我想做的事情:在用户单击submit后,我想显示弹出窗口/div,说明正在处理的请求并在那里显示某种ajax lader,在处理表单后,我希望用户按照服务器控制器逻辑执行操作。客户端不知道用户将被重定向到哪里
我也刚刚找到了这个解决方案,但我想我还是希望显示带有进度的弹出窗口。我也遇到过同样的问题,过去我使用了.attr disabled,disabled来禁用第一次单击时的按钮,然后第二次单击不会触发。在JQuery ajax响应的success or error方法中,使用.removeAttrIsabled 编辑: 要添加弹出窗口,通常只需显示一个窗口,并在处理完成后将其隐藏 因此,默认情况下,div CSS是
#myPopUp{
display: none;
top: 50px;
left: 50px;
width: 250px;
height: 100px;
background-color:darkblue;
background-color:white;
}
HTML
现在,当您将禁用项添加到按钮时,您还可以使用$myPopUp显示弹出框。在执行按钮$myPopUp上的“删除禁用项”后,再次显示并隐藏它。隐藏如何使用进度弹出框?还有一件事我刚才想,如果在服务器上出现任何验证错误,我需要关闭此弹出窗口并显示它们,这样做容易吗?是的,您只需将相同的错误放入。隐藏在错误方法中。我已经提过了,;
<div id="myPopUp">This is a popup</div>`