【问题标题】:Ajax.BeginForm - Hook validation eventsAjax.BeginForm - 挂钩验证事件
【发布时间】:2011-05-08 16:08:37
【问题描述】:

我正在做的是在单击提交按钮时禁用它。 Ajax 调用运行时间较长;返回需要几秒钟。所以我阻止热切的用户多次提交。当表单由于验证错误而失败时,就会出现问题。如果没有挂钩事件的方法,则无法判断提交按钮是否需要重新启用。

ASP.Net MVC 文档让我相信没有这样的事件可以挂钩。有没有办法破解它来实现我需要的功能?

编辑:我忘了提到表单正在进行客户端验证。啦啦

<% Html.EnableClientValidation(); %>

编辑:当客户端验证失败时,OnComplete 和 OnFailure 都不会触发。请注意,OnFailure 仅在控制器操作失败时触发,而不是在验证失败时触发。

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-2 asp.net-ajax


    【解决方案1】:

    您是否注意到还有一个OnFailure 回调?在OnBegin 中禁用它并在OnFailure 中重新启用它。

    【讨论】:

    • 不,OnFailure 也不会触发。查看我的编辑;我发布了更多信息。我找到了解决方法,并会在有机会时发布。
    【解决方案2】:

    您可以在OnBegin 回调中禁用该按钮并在OnComplete 回调中重新启用它。

    【讨论】:

    • 嗯,验证失败后 OnComplete 会触发吗?我会检查的。
    • 不,不是。请注意我对原始帖子所做的修改。
    猜你喜欢
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    相关资源
    最近更新 更多