У меня есть кнопка, которую я хочу отключить при нажатии.
<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, параметр не отправляется на контроллер.
Есть ли способ фактически передать значение контроллеру, форма все еще отправляет информацию о модели.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Используйте событие 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.info("passed");
return false;
}
</script> Однако это не мешает пользователю снова нажать кнопку.
Кнопка отправки становится отключенной, и форма больше не публикуется. Разве это не то, что вы ищете?
к сожалению, форма будет отправлена несколько раз, если я продолжу нажимать кнопку. @ Себастьен С.
Я добавил к своему ответу фрагмент, из которого видно, что событие отправки больше не вызывается, когда кнопка отключена.
Не используйте disabled, используйте при щелчке и один раз, когда вы получите параметры, ничего не делайте в onclick и верните false