jquery - 仅在有效时禁用提交

标签 jquery asp.net-mvc jquery-validate

我使用 jquery 和 asp.net mvc。 我正在做这样的事情,以便单击提交按钮时被禁用。

但如果存在验证错误,我不希望它被禁用。

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

这会使其被禁用,但即使存在验证错误。 怎么了?

最佳答案

编辑:第一次搞砸后我会再试一次:P

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

也许页面上还有其他表单,并且验证了错误的表单?

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

哦,你是否使用 $('form').validate() 来启用验证(我猜如果你使用 MVC 的验证,它会被 MVC 自动调用,但我对此不是 100% 确定)?

关于jquery - 仅在有效时禁用提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5147641/

相关文章:

javascript - Bootstrap Alert - 显示然后隐藏 - 无法再次显示

javascript - 拖放调整拖放区大小

c# - ASP.Net MVC : Display file in browser, 在浏览器选项卡中显示文件名

javascript - 如果所有三个单选按钮均为 false,则不验证

javascript - 附加方法 jquery validate 中特殊字符的正则表达式问题

jquery - 验证JQuery : Uncaught TypeError: Cannot call method 'call' of undefined

使用搜索功能时,jQuery DataTables(旧版本)似乎向服务器发送了太多 ajax 调用

javascript - document.getElementById 不会设置变量

javascript - Mvc 验证和加载器

javascript - AngularJS 缓存 $http.post 响应