Как остановить событие кнопки от публикации в ASP.NET MVC? - PullRequest
5 голосов
/ 16 декабря 2009

У меня есть стандартный вид и некоторые стандартные input теги без runat=server:

<button id="submit">submit</button>
<button id="clear">clear</button>

Нажатие любой из них приводит к отправке страницы. Вместо этого я хочу, чтобы они ничего не делали, так как я обрабатываю событие click с помощью JQuery. Как мне это сделать?

EDIT

Вот мой код jquery

$('#submit').bind('click', submit_click);

function submit_click() {
    alert('clicked submit');
}

Ответы [ 3 ]

5 голосов
/ 16 декабря 2009

В вашем обработчике событий вам нужно сделать:

$("button").click(function(event){
  event.preventDefault();
  // do something
});

взято из: http://docs.jquery.com/Events/jQuery.Event#event.preventDefault.28.29

обновление Это должно работать в вашем коде:

$('#submit').bind('click', submit_click);

function submit_click(event) {
    event.preventDefault();
    alert('clicked submit');
}
4 голосов
/ 16 декабря 2009

Добавьте это к привязкам событий клика:

$('#submit').bind('click', submit_click);

function submit_click() {
    alert('clicked submit');
    return false;
}

Возврат false останавливает обычное поведение кнопки, а не только выполнение вашего кода.

2 голосов
/ 25 июля 2018

Установите type на button:

Это предотвратит отправку формы.
Никаких дополнительных функций JavaScript не требуется.
Примечание. Если для этого свойства установлено значение , а не , оно будет по умолчанию submit.

Полагаю, ваши button элементы управления находятся внутри тега form или Html.BeginForm() кодового блока.
Ниже приведены некоторые примеры:

<button onclick="alert('You Clicked Implicit Submit.')">Implicit Submit</button>//Post Back Form.
<button onclick="alert('You Clicked Submit.')" type="submit">Submit</button>//Post Back Form.
<button onclick="alert('You Clicked Button.')" type="button">Button</button>//Stay on Client Page.

Для простого перенаправления (без отправки формы обратно к действию по умолчанию) вы также можете сделать это:

<button onclick="location.href='@Url.Action("Action", "Controller")'" type="button">Redirect</button>

Особая благодарность за ответ, найденный здесь: https://stackoverflow.com/a/17452739/555798

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...