Val*_*mas 8 double-submit-prevention asp.net-mvc-3
如何阻止用户双击我的注册表单上的提交按钮,这是一个ajax局部视图?
我很遗憾地问,因为这已经被问到了.我现在找不到一个明确的工作答案.禁用该按钮会阻止提交.使用var javascript clickcount + alert + return_false不会重置.
环境:asp.net mvc3
查看:
表单显示onload:@RenderPage("_SignupForm.cshtml")
提交使用:
@using (Ajax.BeginForm("Index", "Signup", null,
new AjaxOptions
{
UpdateTargetId = "signupForm",
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
LoadingElementId="progress"
}
))
Run Code Online (Sandbox Code Playgroud)
提交控制权: <input type="submit" value="Sign up" />
SignupController:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(SignupModel formvalues)
{
Thread.Sleep(5000);
string errors = "";
if (TryValidateModel(formvalues))
{
errors = SignupAPI.Signup(formvalues); //includes custom validation
}
if (ModelState.IsValid == false || string.IsNullOrEmpty(errors) == false)
{
ViewBag.Errors = errors;
return PartialView("_SignupForm", formvalues);
}
else
return Redirect(string.Concat("http://localhost/welcome"));
}
Run Code Online (Sandbox Code Playgroud)
Dar*_*rov 18
尝试使用以下脚本:
$('form').submit(function () {
if ($(this).valid()) {
$(':submit', this).attr('disabled', 'disabled');
}
});
Run Code Online (Sandbox Code Playgroud)
确保在AJAX请求的成功回调中也执行它,以便submit
在表单被DOM中的新内容替换时重新附加事件,或者第二次它可能不再起作用.
归档时间: |
|
查看次数: |
7360 次 |
最近记录: |