Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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
Php 重定向到包含Javascript中post数据的新页面_Php_Javascript_Html_Post - Fatal编程技术网

Php 重定向到包含Javascript中post数据的新页面

Php 重定向到包含Javascript中post数据的新页面,php,javascript,html,post,Php,Javascript,Html,Post,我有一个html表单,其中包含此post方法生成的数据 'form id='form1' name='form1' method='post' action='process.php'etc ' 到php页面,以便处理到mysql数据库中。当用户在提交前填写表单时,我有一个按钮,用户可以单击该按钮打开一个新页面,显示输入数据的pdf。新的pdf文件生成得很好,但我需要的是表单中的post数据。 在pdf页面中,我可以使用POST获取详细信息。我需要的是一种将数据从表单发送到这个新页面的方法

我有一个html表单,其中包含此post方法生成的数据

 'form  id='form1' name='form1' method='post' action='process.php'etc '
到php页面,以便处理到mysql数据库中。当用户在提交前填写表单时,我有一个按钮,用户可以单击该按钮打开一个新页面,显示输入数据的pdf。新的pdf文件生成得很好,但我需要的是表单中的post数据。 在pdf页面中,我可以使用POST获取详细信息。我需要的是一种将数据从表单发送到这个新页面的方法,而不使用上面的表单标记,因为它是处理表单所需要的。 我要找的是一个js方法,它可以重定向到一个新页面,并保持post数据的完整性

有人能帮忙吗,非常感谢您的帮助!Mick

无法使用post数据“重定向”。您可以使用单独的隐藏表单标记,并让按钮提交其他表单:

<form id="form1" name="form1" method="post" action="process.php">
  <!-- form1's inputs here -->
  <button type="button" onclick="document.getElementById('form2').submit()">
    Popup PDF!
  </button>
</form>
<form id="form2" name="form2" method="post" action="form.pdf">
   <input type="hidden" name="field1" value="some value" />
   <!-- etc... -->
</form>

我想我知道你的意思。您希望将表单发布到弹出窗口,而无需重新加载或提交当前页面/表单

实际上,您可以打开一个带有名称的弹出窗口,然后将表单的目标设置为这个新的弹出窗口。然后马上把它改回“_TOP”,你就没事了


如果还没有,我建议您使用jquery。它使javascript变得更加实用。

一般来说,您希望避免将javascript作为主要功能工具使用,因为并非每个人都启用了javascript,因此您的脚本可能会在一些糟糕的时候被轻易破坏

有一些框架可以实现这一点,重定向并保留$\u POST变量,Kohana 3.0是一个可以简单地键入控制器的框架:

echo Request::factory('redirect location')->post($_POST)->execute();
如果不使用javascript,就可以做到这一点。如果您想了解更多有关如何使用javascript的信息,下面是一篇很棒的文章:


希望有帮助:)

许多服务器不允许在mime:html页面中处理postdata。如果目的是将数据提供给另一个页面的JavaScript,这通常不起作用。@SamGoody:你的评论在问题和答案的上下文中没有多大意义(或者说,如果我是诚实的话)。你能解释一下你的意思和为什么它在这里是相关的吗?好的-这里不相关,因为他指定他试图重定向到一个PHP页面生成的PDF。尽管如此,同样的问题经常被问到,接收页面的数据将在哪里由JavaScript填充。与上面的问题相同:第1页包含一个表单。在提交到服务器之前,它会被传递到一个弹出窗口或其他使用数据的格式化页面。如果页面#2是HTML或其他非动态页面,则重定向方法将不起作用。相反,必须使用GET或cookie发送数据。希望这会对某些人有益,请不要变得不正常。@Sam:别担心,我没有变得不正常-只是有点困惑,仅此而已。
echo Request::factory('redirect location')->post($_POST)->execute();