Подтвердить что ты не робот

Отключить проверку на стороне клиента в MVC 3 "отменить" кнопку отправки

Хорошо, много часов пробовал и мог использовать какую-то помощь. Я пытаюсь реализовать страницу в 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-авторизация с сантиметровой стороны запускается и не позволит кнопке делать обратную связь. Я думаю, что disableValidation работает только в MVC 2, и я должен делать что-то еще в MVC 3, но не могу найти примеров.

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

<button type="button" onclick="document.location.href('Index')">Cancel</button>

Ответ 3

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

$("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;
        });
    }
});