提交表单上的阻止按钮

时间:2016-11-22 09:58:56

标签: javascript jquery asp.net-mvc forms

尝试避免使用属性disabled单击提交按钮时多次提交,但点击它只是阻止按钮,没有任何反应。尝试将id添加到Html.Begin表单中,但点击它会出现服务器应用程序错误,如:the parameters dictionary contains a null entry for parameter 'id' of non-nullable type System.Int32

@using (Html.BeginForm(MVC.Controller.MethodName(), FormMethod.Post, new { id = "submitFormId" }))


 <button class="btn btn-w-m btn-primary" type="button" id="submitButtonId" value="AddSmth" onclick="return validateForm(event)">
   <i class="fa fa-plus"></i>&nbsp;Add
 </button>

和js:

 $("#submitButtonId").attr("disabled",true);
 $('#submitFormId').submit();

3 个答案:

答案 0 :(得分:0)

问题是你想在你的URL中使用id参数但是你没有提供。例如:

-Wl,-rpath,/path/to/jpeglib_so_dir

缺少1(id)。

答案 1 :(得分:0)

这是不可能的,因为当您按下按钮时,重新加载页面以便删除禁用属性

如果你想设置这个条件,那么使用ajax,这样就不会重新加载页面,然后按钮禁用也正常工作

答案 2 :(得分:0)

创建另一种方法来防止多次点击按钮。刚补充说:

@{ Html.EnableClientValidation(); }
@{ Html.EnableUnobtrusiveJavaScript(); }

在视图中,在添加全局变量var isSubmited = false;之后,然后通过以下方式验证它:

if (isSubmited) e.PreventDefault();

. . .

if ($('#submitFormId').valid()) {
            isSubmited = true;
        }