2012-06-17 22 views
0

我被困在一个小问题。我在这个表单中有这个按钮,这个按钮已经发布到一个控制器操作方法,用于检查Edit()。现在我想要一个取消按钮,它将发布到不同的操作方法,例如Edit(int id)。我试图覆盖Html.Begin表单中指定的默认帖子,所以我附加了一个Javascript事件,但该事件没有事件发生。我知道如果我使用动作链接,它就像一个魅力,但我担心让链接看起来像一个按钮。此外,我不能将链接放置为不同的形式,以便在形式中使用不同的元素进行物理位置。将truley appriciate任何提示。由于MVC 3,Razor查看 - 覆盖默认表单帖子

@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

请使用Firebug或其他控制台检查错误。你把JavaScript代码放在''>?你的代码看起来很好。 – LukLed

回答

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" />  
} 

此外,在这种情况下,您将不需要0​​行。

$("#cancel").click(function(e) { 
    window.location.href = "REDIRECT URL"; 
});