使用Javascript中的帖子数据重定向到新页面

时间:2010-03-28 08:42:27

标签: php javascript html post

我有一个带有这个帖子方法的数据的html表单

 'form  id='form1' name='form1' method='post' action='process.php'etc '

到php页面进行处理成mysql数据库。当用户在提交表单之前填写表单时,我有一个按钮,用户可以单击该按钮打开新页面以显示输入数据的pdf。新的pdf文件生成正常,但我需要的是表单中的帖子数据。 在pdf页面中,我可以使用POST来获取详细信息。我需要的是一种从表单发送数据到这个新页面的方法,而不使用上面的表单标签,因为它是处理表单所需要的。 我正在寻找的是一个js方法,重定向到一个新的页面,发布数据完整

有人可以帮忙吗? , 任何帮助深表感谢 !米克

3 个答案:

答案 0 :(得分:2)

通常你会想避免使用javascript作为一个主要的功能工具,并不是每个人都启用它,所以你的脚本可能很容易被破坏一些,不好的时候!

有一些框架允许这样,重定向并保留$ _POST变量,Kohana 3.0是一个只需键入控制器的框架:

echo Request::factory('redirect location')->post($_POST)->execute();

如果你不想使用javascript那就可以做到这一点,如果你想了解更多关于它是如何工作的话,这是一篇很棒的文章:http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/

希望有所帮助:)

答案 1 :(得分:1)

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

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

我建议使用jquery,如果你还没有。它使javascript更加可行。

答案 2 :(得分:0)

无法使用帖子数据“重定向”。您可以使用单独的隐藏表单标记,并让按钮提交另一个表单:

<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>

或者,如果您要将同一表单发布到其他页面,则可以暂时更改action属性,然后将其更改回来:

document.getElementById("popupButton").onclick = function ()
{
    var frm1 = document.getElementById("form1");
    frm1.action = "myPDF.pdf";
    frm1.submit();
    frm1.action = "process.php";
}