【问题标题】:send the form values to multiple pages将表单值发送到多个页面
【发布时间】:2016-11-02 15:11:42
【问题描述】:

我正在开发一个 Web 应用程序,我需要将值从一个表单发送到多个页面。

我的表格很简单:

<form method="post">
    <input type="text" name="name" value="">
    ...
</form>

我希望将表单中的值发送到:

  • 'page1.php' 将替换包含显示消息的表单的实际页面:数据已保存
  • 'page2.php' 当我单击提交按钮以将数据呈现为 PDF 文件时将打开

问题是我只能使用表单的action属性指定一个目标。

有人可以帮忙吗?提前致谢。

我可以使用 JavaScript 或 jQuery 或其他吗?

【问题讨论】:

  • 你到底想做什么?当您提交表单时,您希望打开超过 1 个页面?
  • 您是否考虑过使用$_SESSION 变量来存储表单数据?,$_SESSION 将在您所有的 *.php 页面中保持不变
  • 你能澄清你的想法@always Sunny 吗?
  • @heaner,是的,我希望将表单的值发送到两个页面,第一页是包含表单的页面,第二个页面在我提交表单之前不会打开,而不是创建一个新选项卡.

标签: javascript php jquery html forms


【解决方案1】:

例如,您可以使用 JavaScript 和 jQuery 来实现。最简单的方法是发送两个 ajax 请求:

$('form').submit(function() {
    $.ajax({
        async: false,
        method: 'POST',
        url: 'page2.php',
        data: $( this ).serialize(),
        success: function() {
             window.open("http://www.stackoverflow.com"); //this page will be open in new tab
        }
    });

    $.ajax({
        async: false,
        method: 'POST',
        url: 'page1.php',
        data: $( this ).serialize(),
        success: function() {
            window.location.href = "http://stackoverflow.com"; //redirect to this page
        }
    });
});

【讨论】:

  • 我想过这样做,但是如何在另一个选项卡中打开第二页?
  • @manianis,你也可以使用 JavaScript 来实现。只需在成功回调中调用window.open("http://www.example.com/page2.php");。我将编辑上面的代码,所以看看它。
  • 谢谢,当我添加以下内容以防止默认表单发送时,您的解决方案效果很好: $('form').submit(function(ev) { ev.preventDefault(); ... });
  • 是的,我忘记了 :) 问候 ;)
【解决方案2】:

您可以使用具有不同 URL 和相同数据的 Jquery.post()。 更多用法在这里:https://api.jquery.com/jquery.post/

【讨论】:

  • 我想过但是如何打开另一个标签?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多