我遇到了一个小问题。我在一个表格中有这个按钮,它已经发布到一个控制器动作方法,例如Edit()。现在我想要一个取消按钮,它将发布到另一个动作方法,例如Edit(int id)。我试图覆盖Html.Begin表单中指定的默认帖子,所以我附加了一个Javascript事件,但事件没有事件命中。我知道如果我使用动作链接它就像一个魅力,但我担心让链接看起来像一个按钮。此外,我不能将链接放入不同的形式,以便在表单中使用不同的元素进行物理放置。 truley会批评任何提示。感谢
@using (Html.BeginForm("Edit", "RunLogEntry", FormMethod.Post, new { enctype = "multipart/form-data" })) {
<input id="create" class="art-button" type="submit" value="Save" />
<input id="cancel" class="art-button" type="submit" value="Cancel" />
}
$("#cancel").click(function(e) {
e.preventDefault(); //Keep form from posting
window.location.href = "REDIRECT URL";
});
答案 0 :(得分:1)
将cancel
按钮的类型更改为button
。这样,默认情况下它不会触发表单提交。你需要用JavaScript来处理它。
@using (Html.BeginForm("Edit", "RunLogEntry", FormMethod.Post, new { enctype = "multipart/form-data" })) {
<input id="create" class="art-button" type="submit" value="Save" />
<input id="cancel" class="art-button" type="button" value="Cancel" />
}
此外,在这种情况下,您不需要e.preventDefault();
行。
$("#cancel").click(function(e) {
window.location.href = "REDIRECT URL";
});