Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 如何使用ajax提交和显示进度防止用户二次单击表单提交_Asp.net Mvc 3_Jquery_Post - Fatal编程技术网

Asp.net mvc 3 如何使用ajax提交和显示进度防止用户二次单击表单提交

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,在处理表单后,我希望用户按照服务器控制器逻辑执行操作。客户端不知道用户将被重定向到哪里

我在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>`