如何在提交表单时使用JQuery禁用保存按钮

时间:2013-03-01 06:41:47

标签: jquery razor asp.net-mvc-4 submit

我的MVC应用程序中有一个数据输入表单作为razor视图。此视图包含一些输入控件,验证器和提交按钮。 当用户点击“提交”按钮时,它会执行验证,如果其中任何一个失败,则用户提交方法将被终止。 当满足所有验证时,表单将被提交,但随着某些业务逻辑的执行,需要更多的时间。 现在我不希望用户在此期间允许点击提交按钮。因此,应禁用“提交”按钮,并在提交完成后重新启用。

我怎样才能做到这一点?我想我需要为此编写JQuery,但不确定,要处理哪个事件。

2 个答案:

答案 0 :(得分:5)

没有看到HTML ...或javascript ...

$('form').submit(function(){
    var $submit = $(this).find('input[type=submit]').prop('disabled', true);

    $.ajax({
        url: 'foo',
        //... the rest...

        complete: function(){
            $submit.prop('disabled', false);
        }
    });
})

答案 1 :(得分:1)

尝试以下方法:

$("form").submit(function() {
    var form = this;
    setTimeout(function() {
       $(':submit', form).attr('disabled', true);
    }, 50)
});