使用jQuery“加载”映像函数进行ASP.NET MVC客户端验证

使用jQuery“加载”映像函数进行ASP.NET MVC客户端验证,jquery,ajax,asp.net-mvc-2,Jquery,Ajax,Asp.net Mvc 2,我有一个jQuery函数,它显示“加载”图像,并在提交表单时禁用提交按钮。 我还添加了Html.EnableClientValidation 问题是,当我单击“提交”按钮且表单无效时,我会收到所有验证错误消息,但“加载”图像从未停止,按钮保持“禁用” 我想添加在表单无效时停止“加载”图像并启用按钮的功能 我知道如何编写jQuery函数,但不知道如何将其与MVC EnableClientValidation集成。我想您使用的是AJAX表单,因为您正在谈论禁用和启用提交按钮,在这种情况下,我建议您在

我有一个jQuery函数,它显示“加载”图像,并在提交表单时禁用提交按钮。 我还添加了Html.EnableClientValidation

问题是,当我单击“提交”按钮且表单无效时,我会收到所有验证错误消息,但“加载”图像从未停止,按钮保持“禁用”

我想添加在表单无效时停止“加载”图像并启用按钮的功能


我知道如何编写jQuery函数,但不知道如何将其与MVC EnableClientValidation集成。

我想您使用的是AJAX表单,因为您正在谈论禁用和启用提交按钮,在这种情况下,我建议您在发送AJAX请求之前禁用submit按钮,这将确保客户端验证通过

如果您正在使用MS AJAX对表单进行AJAXify,您可以尝试的两个事件是和:


如果您使用的是jquery,那么您可以订阅beforeSend和complete事件,这可以通过全局方式实现

谢谢,但是脚本无法使用Ajax向服务器发送数据,因为EnableClientValidation;在发送数据之前停止表单提交。正如函数所说,它是客户端验证,而不是服务器端验证,因此我需要在客户端脚本中使用OnBegin和OnComplete回调,而不是Ajax脚本,但我不确定如何执行。OnBegin和OnComplete是客户端函数名。
<% Ajax.BeginForm(new AjaxOptions { 
    OnBegin = "enable" OnComplete = "disable" }) %>