我正在尝试弄清楚这是否可行。
我的 Page-A 具有 Form-Foo,并在新窗口中执行 Bar 操作。
单击“提交”后,我希望提交表单并重新加载 Page-A。
到目前为止,我只能让其中之一工作......任何指示将不胜感激。
除了 DudeSolutions 解决方案...我尝试了这个:
$(document).ready(function() {
$('#foo').submit(function() {
$.post('bar.asp', $(#foo).serialize(), function(data) {
window.location.reload();
});
});
});
相同的结果...我可以提交表单并打开一个新选项卡...但 Page-A 不会重新加载。
最佳答案
如果您打算提交表单并重新加载页面,这将是默认行为,只有操作属性中的 url 不正确。如果是这样,只需更改 URL,如果打算加载新页面,则无需使用 ajax :
$(function() {
$('#Form-Foo').attr('action', 'Page-A url');
});
或者:
$(function() {
$('#foo').on('submit', function(e) {
e.preventDefault();
setTimeout(function() {
window.location.reload();
},0);
this.submit();
});
});
只需排队重新加载就足以等到表单发送后重新加载页面,但由于大多数浏览器在您离开浏览器选项卡时停止超时,因此在您返回该选项卡之前它不会真正重新加载,但这应该是不易察觉的。
关于javascript - 如何使用 jQuery 提交表单然后重新加载页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811100/