如果我有这样的表格:
<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>
如何提交而不通过JavaScript / Jquery重定向到另一个视图?我从StackOverflow阅读了很多答案,但是所有这些答案都将我重定向到POST函数返回的视图。
为了实现您想要的,您需要使用jquery ajax,如下所示:
$('#myForm').submit(function(e){ e.preventDefault(); $.ajax({ url:'/Car/Edit/17/', type:'post', data:$('#myForm').serialize(), success:function(){ //whatever you wanna do after the form is successfully submitted } }); });
更新:( 基于下面的评论)
试试这个:
function SubForm(e){ e.preventDefault(); var url=$(this).closest('form').attr('action'), data=$(this).closest('form').serialize(); $.ajax({ url:url, type:'post', data:data, success:function(){ //whatever you wanna do after the form is successfully submitted } }); }
UPDATE 2 (OP添加了此部分,因为这是他的最终解决方案)
这完美无瑕。我从Html.ActionLink(...)
Html.ActionLink(...)
function SubForm (){ $.ajax({ url:'/Person/Edit/@Model.Id/', type:'post', data:$('#myForm').serialize(), success:function(){ alert("worked"); } }); }