如何在提交时重新加载页面

Posted

技术标签:

【中文标题】如何在提交时重新加载页面【英文标题】:How to reload a page on Submit 【发布时间】:2016-02-02 17:03:24 【问题描述】:

我有一个包含表单的引导模式。 Modal 还包含一个提交和取消按钮。取消按钮工作正常,它正在成功关闭模态。现在根据我对模态的提交按钮单击的要求,通过将用户输入传递给 Web 服务,表单正在成功提交,但模态没有关闭。此外,我只需要在提交按钮单击事件上重新加载页面。这是我的 html ..

<div class="modal fade" id="StudentModal" tabindex="-1" role="dialog" aria-labelledby="StudentModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
  <div class="modal-content">
     <form action="~/GetStudent" class="form-horizontal" role="form" method="post" id="frmStudent">
        <div class="modal-footer">
           <div class="pull-right">
              <button type="submit" class="btn btn-success"><i class="glyphicon glyphicon-ok"></i> Save</button>
              <button type="button" class="btn btn-danger" data-dismiss="modal"><i class="glyphicon glyphicon-remove"></i> Close</button>
           </div>
        </div>
     </form>
  </div>

我尝试了以下方法来关闭模态..

$('#frmStudent').submit(function() 
$('#StudentModal').modal('hide');
return false;
);

根据我的要求,我需要在提交事件时关闭 Modal 并在从 Web 服务返回后重新加载页面。我怎样才能用 Jquery 做到这一点?

注意:我不应该在这里使用 Ajax Call ..我只需要从表单操作提交表单

【问题讨论】:

How to reload page after .submit()的可能重复 @Jordan.J.D 这个问题使用了 Ajax,我没有使用 Ajax,在 Form Action 上,我给出了 Service URL..在这种情况下该怎么做.. 嘿@Lara,使用 Ajax 有什么问题,Jordan.J.D 发布的链接中的解决方案似乎没问题。 我的领导说不要使用 Ajax,所以不能在这里使用..它是这个项目的一种约定.. /GetStudent 是否返回 302 重定向响应? 【参考方案1】:

此 HTML 将不起作用:

<form onsubmit="window.location.reload();">

但是这个 HTML 可以完成这项工作:

<form onsubmit="setTimeout(function()window.location.reload();,10);">

所以浏览器有足够的时间提交表单然后重新加载页面;-)

【讨论】:

@Carl Poole:感谢您的编辑!【参考方案2】:

提交表单后,您可以通过 javascript 进行此调用:

window.location.reload();

【讨论】:

【参考方案3】:

如果您希望在提交表单时重新加载页面,请使用onsubmit 事件处理程序:

document.getElementById("frmStudent").onsubmit = function()
    location.reload(true);

此代码应重新加载页面、提交表单并关闭模式。

【讨论】:

以上是关于如何在提交时重新加载页面的主要内容,如果未能解决你的问题,请参考以下文章

如何检查页面重新加载是不是完成

表单提交后如何防止页面重新加载 - JQuery

如何在 jQuery 中强制页面刷新或重新加载?

php sql,表单在页面加载时重新提交

如何在IE浏览器中重新加载/刷新页面而不使用JS弹出表单重新提交

如何在不重新加载页面的情况下提交表单[重复]