Кнопка ввода MVC3, которая не вызывает действия контроллера и просто выполняет событие jquery? - PullRequest
0 голосов
/ 21 декабря 2011

В представлении создания MVC3, как мне убедиться, что входной тег типа «submit» не вызывает действие Create в контроллере MVC3, а только вызывает функцию jquery?

function start()
{
   alert("hi");
}

<input type="submit" value="Start" onclick="start();"/>

Всякий раз, когда я нажимаю накнопка «Пуск», показывает окно предупреждения «привет», а затем снова вызывает действие «Создать контроллер»?Как сделать так, чтобы он не отправлял обратно в действие «Создать контроллер»?

спасибо.

Ответы [ 4 ]

1 голос
/ 21 декабря 2011

Вы можете просто изменить type из input с submit на button:

<input type="button" value="Start" onclick="start();"/>

Это сделает его автономной кнопкой, которая не прикреплена к вмещающему form,Таким образом, вы можете просто связать свой код JavaScript с ним, и это не будет иметь никакого значения для пользователей, это просто не говорит браузеру, что он должен также отправить форму.

0 голосов
/ 21 декабря 2011

Попробуйте это:

function start()
{
   preventDefault();
   alert("hi");
}

<input type="submit" value="Start" onclick="start();"/>
0 голосов
/ 21 декабря 2011

Вы можете сделать что-то вроде

function start(e)
{
   alert("hi");
   e.preventDefault();
}

или если вы хотите отменить действие только для этой кнопки, но не везде:

<input type="submit" value="Start" onclick="start(); return false;"/>

примечание: я тестировал только второе, но я уверен, что первое тоже должно работать

0 голосов
/ 21 декабря 2011

Вам, вероятно, просто нужно позвонить на preventDefault().

<script type="text/javascript">
    $(function() {
        $('#submitButton').click(function(e) {
            alert('hi');
            e.preventDefault();
        });
    });
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...