禁用"提交"表单验证后的按钮

时间:2015-01-28 11:08:54

标签: jquery forms asp.net-mvc-4 form-submit

我有一个这样的表格

@using (Html.BeginForm("action", "controller", FormMethod.Post, new { id = "_identity" }))
{
// element here

 <input class="buttonblue" type="submit" value="Save" id="Submit1" />
}

Model验证。

它工作正常。现在我想检测在验证后是否在控制器操作中达到此请求。

实际上我想在控制器上达到请求时禁用submit button

我试过以下。但我认为这不正确。

 $('#_identity').submit(function () {
     $("#Submit1").val("Saving...");
     $("#Submit1").attr('disabled', 'disabled');
 });

在控制器和验证之前达到请求之前调用此方法。

如果表单经过验证并且在控制器处达到请求,我想要简单的事情,那么用户就无法再次点击提交按钮。

2 个答案:

答案 0 :(得分:2)

我已经解决了这个问题。

使用

  $('#_identity').submit(function () {
            if ($(this).valid()) {
                $(':submit', this).attr('disabled', 'disabled');
                $(':submit', this).val('Saving...');
            }
        });

我找到了Here

答案 1 :(得分:0)

以这种方式使用Ajax.BeginForm

@using (Ajax.BeginForm("action", "controller", new AjaxOptions{ HttpMethod ="Post",OnBegin ="OnBegin",OnSuccess="OnSuccess",OnFailure="OnFailure"},new { id = "_identity" }))
{
// element here

 <input class="buttonblue" type="submit" value="Save" id="Submit1" />
}

和js:

<script type="text/javascript">

    function OnBegin() {

        // disable submit button here
    }

    function OnSuccess() {

        // enable submit button here
    }

    function OnFailure() {

        // enable submit button in case of failure
    }

</script>