繁体   English   中英

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

[英]How do I stop a button event from posting in ASP.NET MVC?

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

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

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

编辑

这是我的jquery代码

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

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

在你的事件处理程序中,你需要做:

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM