【发布时间】:2015-01-23 06:39:26
【问题描述】:
我目前有一个如下所示的登录表单:
+----------------------------------+
| |
| +----------+ |
| | E: | |
| | P: | |
| | SUBMIT | |
| +----------+ |
| LOADER |
| |
+----------------------------------+
表格定义:
@using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post))
{
@Html.AntiForgeryToken()
<form action="" id="test">
我的提交按钮显示如下:
<div>
<input type="submit" value="Log in" onclick="OpenSite();" />
<a>@Html.ActionLink("Forgot your password?","ForgotPassword","Account")</a>
</div>
加载器:
<div class="loader" id="myLoader" style="display:none">Loading...</div>
使用“OpenSite”功能:
<script>
function OpenSite() {
$('.loader').show();
$('#openPopup').click();
};
</script>
如何在提交表单之前强制执行此功能,但是当我按下“Submit”按钮时?
即:
+---------------+
User Fills form
+---------------+
||
\/
+---------------+
User Presses
submit
+---------------+
||
\/
+---------------+
Display loader
+---------------+
||
\/
+---------------+
Display popup
+---------------+
||
\/
+---------------+
Submit form
to controller
+---------------+
这意味着“加载”动画将在下一页加载时显示。
如何做到这一点?
我尝试在函数开头添加alert("hello world");,它执行了,但我的加载器根本没有显示:(
任何帮助将不胜感激。
我也试过了:
$("#test").submit(function (event) {
$('#myLoader').show();
});
没有运气
【问题讨论】:
-
你试过在表单提交事件中展示它吗?
-
就像@filur 建议的那样,您需要使用“onsubmit”事件
-
已经尝试过了,成功率为零。
标签: jquery asp.net-mvc forms loader