Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery提交表单,然后重新加载页面_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery提交表单,然后重新加载页面

Javascript 如何使用jQuery提交表单,然后重新加载页面,javascript,jquery,Javascript,Jquery,我想知道这是否可行 我有一个页面,它有一个表单Foo,在一个新窗口中有一个操作栏 单击提交后,我希望表单提交并重新加载A页 到目前为止,我只能让一个或另一个工作…任何指针将不胜感激 除此之外,我还尝试了以下方法: $(document).ready(function() { $('#foo').submit(function() { $.post('bar.asp', $(#foo).serialize(), function(data) {

我想知道这是否可行

我有一个页面,它有一个表单Foo,在一个新窗口中有一个操作栏

单击提交后,我希望表单提交并重新加载A页

到目前为止,我只能让一个或另一个工作…任何指针将不胜感激

除此之外,我还尝试了以下方法:

$(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) <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>