Отключить кнопку при нажатии, но не может передать параметр контроллеру

У меня есть кнопка, которую я хочу отключить при нажатии.

<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, параметр не отправляется на контроллер.

Есть ли способ фактически передать значение контроллеру, форма все еще отправляет информацию о модели.

Не используйте disabled, используйте при щелчке и один раз, когда вы получите параметры, ничего не делайте в onclick и верните false

sridhar.. 17.04.2018 13:01
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
357
1

Ответы 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.info("passed");
            return false;
        }  
    </script> 

Однако это не мешает пользователю снова нажать кнопку.

elszeus 17.04.2018 13:17

Кнопка отправки становится отключенной, и форма больше не публикуется. Разве это не то, что вы ищете?

Sébastien S. 17.04.2018 13:19

к сожалению, форма будет отправлена ​​несколько раз, если я продолжу нажимать кнопку. @ Себастьен С.

elszeus 17.04.2018 13:48

Я добавил к своему ответу фрагмент, из которого видно, что событие отправки больше не вызывается, когда кнопка отключена.

Sébastien S. 17.04.2018 14:02

Другие вопросы по теме