如何在不重定向的情况下提交 HTML 表单
2022-08-30 04:14:00
如果我有这样的表格,
<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>
我如何提交它而不通过JavaScript / jQuery重定向到另一个视图?
我从Stack Overflow中阅读了很多答案,但所有这些答案都将我重定向到POST函数返回的视图。
如果我有这样的表格,
<form action="/Car/Edit/17" id="myForm" method="post" name="myForm"> ... </form>
我如何提交它而不通过JavaScript / jQuery重定向到另一个视图?
我从Stack Overflow中阅读了很多答案,但所有这些答案都将我重定向到POST函数返回的视图。
您可以通过将表单重定向到不可见的 .它不需要任何JavaScript或任何其他类型的脚本。action
<iframe>
<iframe name="dummyframe" id="dummyframe" style="display: none;"></iframe>
<form action="submitscript.php" target="dummyframe">
<!-- Form body here -->
</form>
为了实现你想要的,你需要使用jQuery Ajax,如下所示:
$('#myForm').submit(function(e){
e.preventDefault();
$.ajax({
url: '/Car/Edit/17/',
type: 'post',
data:$('#myForm').serialize(),
success:function(){
// Whatever you want to 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 want to do after the form is successfully submitted
}
});
}
这完美地工作。我从Html.ActionLink(...)
function SubForm (){
$.ajax({
url: '/Person/Edit/@Model.Id/',
type: 'post',
data: $('#myForm').serialize(),
success: function(){
alert("worked");
}
});
}