我有一个按钮,点击后我想禁用。
<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)时,参数不会推送到控制器。
无论如何实际将值传递给控制器,表单仍然会发布模型信息。
答案 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>