Javascript 如何使用jQuery提交表单,然后重新加载页面
我想知道这是否可行 我有一个页面,它有一个表单Foo,在一个新窗口中有一个操作栏 单击提交后,我希望表单提交并重新加载A页 到目前为止,我只能让一个或另一个工作…任何指针将不胜感激 除此之外,我还尝试了以下方法:Javascript 如何使用jQuery提交表单,然后重新加载页面,javascript,jquery,Javascript,Jquery,我想知道这是否可行 我有一个页面,它有一个表单Foo,在一个新窗口中有一个操作栏 单击提交后,我希望表单提交并重新加载A页 到目前为止,我只能让一个或另一个工作…任何指针将不胜感激 除此之外,我还尝试了以下方法: $(document).ready(function() { $('#foo').submit(function() { $.post('bar.asp', $(#foo).serialize(), function(data) {
$(document).ready(function() {
$('#foo').submit(function() {
$.post('bar.asp', $(#foo).serialize(), function(data) {
window.location.reload();
});
});
});
相同的结果…我可以让表单提交,并打开一个新选项卡…但Page-a不会重新加载。如果您打算提交表单并重新加载页面,这将是默认行为,并且只有action属性中的url不正确。如果是这样的话,只需更改URL即可,如果打算加载新页面,则无需使用ajax:
$(function() {
$('#Form-Foo').attr('action', 'Page-A url');
});
或:
仅对重新加载进行排队应该足以等到表单发送后再重新加载页面,但由于大多数浏览器在您离开浏览器选项卡时停止超时,因此在您返回该选项卡之前,它不会真正重新加载,但这应该是不可察觉的。这里有一个想法:
<script type="text/javascript">
$("#my_form").submit(function() {
$.ajax({
type: "POST",
url: "/path/to/post/handler/",
data: $("#my_form").serializeArray(),
success: function() {
top.reload();
}
});
return false;
});</script>
$(“#我的表格”)。提交(函数(){
$.ajax({
类型:“POST”,
url:“/path/to/post/handler/”,
数据:$(“#我的表格”).serializeArray(),
成功:函数(){
top.reload();
}
});
返回false;
});
如果您概述了您的尝试,那么肯定会有所帮助,这样其他人就会知道什么对您不起作用。我认为AJAX是解决您问题的方法。如何将您的操作指向一个javascript函数,您可以在该函数中提交表单并设置超时(“location.reload(true);”,timeoutPeriod)这就是我一直在尝试的。表单提交后,新页面打开并显示预期结果,但A页面不会重新加载。
<script type="text/javascript">
$("#my_form").submit(function() {
$.ajax({
type: "POST",
url: "/path/to/post/handler/",
data: $("#my_form").serializeArray(),
success: function() {
top.reload();
}
});
return false;
});</script>