我有一个带有这个帖子方法的数据的html表单
'form id='form1' name='form1' method='post' action='process.php'etc '
到php页面进行处理成mysql数据库。当用户在提交表单之前填写表单时,我有一个按钮,用户可以单击该按钮打开新页面以显示输入数据的pdf。新的pdf文件生成正常,但我需要的是表单中的帖子数据。 在pdf页面中,我可以使用POST来获取详细信息。我需要的是一种从表单发送数据到这个新页面的方法,而不使用上面的表单标签,因为它是处理表单所需要的。 我正在寻找的是一个js方法,重定向到一个新的页面,发布数据完整
有人可以帮忙吗? , 任何帮助深表感谢 !米克
答案 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";
}