如何停止在ASP.NET MVC中发布按钮事件?

时间:2009-12-16 16:08:41

标签: c# .net jquery asp.net-mvc

我有一个标准视图和一些没有input的标准runat=server标记:

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

按任意一个导致页面提交。相反,我希望他们什么都不做,因为我正在用JQuery处理click事件。我该怎么做?

修改

这是我的jquery代码

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

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

3 个答案:

答案 0 :(得分:5)

在您的事件处理程序中,您需要执行以下操作:

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

答案 1 :(得分:4)

将此添加到您的点击事件绑定:

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

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

返回false会停止按钮发生的常规行为,而只会执行代码。

答案 2 :(得分:2)

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