单击时禁用按钮但无法将参数传递给控制器

时间:2018-04-17 10:57:21

标签: javascript html asp.net-mvc

我有一个按钮,点击后我想禁用。

<input type="submit" value="Save" class="btn btn-default" name="submit" style="float: right; position: relative; right: -18px;" />

值“保存”需要从按钮传递到控制器:

 public ActionResult EditCall(ModelCallDetails call, string submit)

但是,显然当我放置一个OnClick事件(例如disable)时,参数不会推送到控制器。

无论如何实际将值传递给控制器​​,表单仍然会发布模型信息。

1 个答案:

答案 0 :(得分:1)

使用onsubmit事件。

示例:

<form action="" method="post" onsubmit="return submitForm(this);">  
    <input type="submit" value="Save" class="btn btn-default" name="submit" style="float: right; position: relative; right: -18px;" /> 
</form>  

<script type="text/javascript">  
    function submitForm(th) {   
        th.submit.disabled = true;  
        return true;
    }  
</script>  

您可以在下面的代码段中测试当按钮变为禁用时,不再调用提交事件。我只将return true更改为return false因为我不应该发布到stackoverflow。这只是为了向您展示,在将提交按钮设置为disabled=true后,该事件不再可调用。

<form action="" method="post" onsubmit="return submitForm(this);">  
        <input type="submit" value="Save" class="btn btn-default" name="submit" /> 
    </form>  

    <script type="text/javascript">  
        function submitForm(th) {   
            th.submit.disabled = true;
            console.log("passed");
            return false;
        }  
    </script>