通过validation阻止MVC 3中的多个表单提交

我有一个包含许多输入字段的表单,其中一些表示validation。 我在MVC 3中使用默认validation插件。如果服务器响应很慢,用户可能会点击提交另一个时间,这可能会导致意外行为。 怎么预防这个? 我已经尝试在表单的.submit事件中注入代码,但即使validation失败也会引发此事件。

您可以检查validation是否成功并禁用提交按钮:

$(function () { $('form').submit(function () { if ($(this).valid()) { $('input[type="submit"]').attr('disabled', 'disabled'); } }); });