【问题标题】:Is it possible to submit a form and not load the new window?是否可以提交表单而不加载新窗口?
【发布时间】:2011-08-12 20:20:39
【问题描述】:

我目前设置了一个表单,它将一些数据传递给一个 php 文件,该文件在后台进行一些对用户来说并不重要的处理。目前,当单击提交按钮时,会打开一个新窗口(加载处理输入信息的 php 文件)。由于没有真正的用户内容,页面只是空白。理想情况下,我希望在提交表单时修改当前页面(让表单消失并在其位置显示一条消息,例如“您的请求已收到。”)。

是否可以在不打开新窗口的情况下提交表单并处理数据?是否有可能以某种方式向用户隐藏它?

<form action="<!-- FORM ACTION -->" method="post" target="_blank">

【问题讨论】:

    标签: php forms post window


    【解决方案1】:

    使用 jquery,您可以执行以下操作:

    $('form').submit(function(){
      $.ajax({  
        type: "POST",  
        url: "post.php",  
        data: $('form').serialize(),  
        success: function() {  
          //something to let the user know it was submitted  
        }  
      });
    }
    

    【讨论】:

      【解决方案2】:

      查看 ajax。特别是使用像 jQuery 这样的库。

      http://api.jquery.com/jQuery.ajax/

      【讨论】:

        【解决方案3】:

        确实有可能。用于实现此目的的技术称为“AJAX”,代表“异步 JavaScript 和 XML”。

        这是一个帮助您入门的链接:Submit A Form Without Page Refresh

        我还建议您查看 JavaScript 库 jQuery,因为它会让您的生活变得更简单。 jQuery 甚至有一个插件可以做你想做的事:jQuery Form Plugin

        【讨论】:

        • 感谢您给我留下了一些文章,而不仅仅是代码,它非常有帮助,让我学习:)
        【解决方案4】:

        您可以使用标头将操作页面重定向回表单页面,就像使用登录表单一样,将其发送出去进行处理,然后返回到设置了会话 ID 的页面。

        header ('Location:redirect_page.php');
        

        或者像 Samusaaron3 所说的那样使用带有 ajax 的 jQuery。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-11-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多