Отключить проверку на стороне клиента в MVC 3 «отменить» кнопку отправки - PullRequest
54 голосов
/ 19 марта 2011

ОК, пытался что-то часами и мог бы помочь.Я пытаюсь реализовать страницу в MVC 3, которая имеет кнопки «назад» и «далее».Когда нажата кнопка «Назад», я хочу отключить запуск проверки MVC на стороне клиента, чтобы мой метод действия запускался и отправлял пользователя на предыдущую логическую веб-страницу.Я пробовал это:

<script type="text/javascript">
  document.getElementById("backButton").disableValidation = true;
</script>

и это:

<input type="submit" name="backButton" value="← Back" 
 title="Go back to step 1." disableValidation="true" />

Но несмотря ни на что, JavaScript на стороне cilent включается и не позволяет кнопке сделать свое сообщение-назад.Я думаю, что disableValidation работает только в MVC 2, возможно, и я должен делать что-то еще в MVC 3, но не могу найти каких-либо примеров.

Ответы [ 3 ]

124 голосов
/ 19 марта 2011

Что это за мистическая сила, которая заставляет ответ раскрыться, как только вы зададите вопрос где-нибудь?

Похоже, что в MVC 3 вы отключаете проверку на стороне клиента для кнопки, добавляя к ней класс «отмена». Итак, в моем примере:

<input type="submit" name="backButton" value="← Back"
 title="Go back to step 1." class="cancel" />

прекрасно работает. И атрибут ID тоже не нужен. Если у вас есть фактический класс стиля на кнопке, просто сделайте это:

<input type="submit" name="backButton" value="← Back"
 title="Go back to step 1." class="style-name cancel" />
1 голос
/ 20 марта 2012

Сценарии проверки, похоже, связаны с типом отправки input. При изменении cancel на кнопку проверка пропускается:

<button type="button" onclick="document.location.href('Index')">Cancel</button>
0 голосов
/ 21 августа 2014

Я использую это для кнопки

$("button").each(function (elem) {
    var button = $($("button")[elem]);
    button.addClass('cancel');

    if (button.attr('type') == 'submit') {

        button.click(function (e) {
            var validator = button.closest('form').validate();
            validator.cancelSubmit = true;
        });
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...