发布PHP表单后打开带有格式化URL的浏览器窗口

时间:2010-12-28 02:37:38

标签: php javascript forms

所以这就是问题所在。我有这个收集一些数据的PHP表单,在发布数据后解析一个URL构建。构建此URL后,我想使用这个新构造的URL为用户打开一个新的浏览器窗口。

我怎样才能真正实现这一目标?这只能用javascript完成吗?如果是这样......怎么样?

我已经有了代码,我已经测试了它在发布表单后构建URL的工作原理,现在只需要用URL打开一个新窗口。

5 个答案:

答案 0 :(得分:2)

您可以使用HTTP标头将当前窗口发送到该网址:

<?php
//your code that builds $url
header("Location: $url");
?>

如果必须打开第二个新窗口,则必须使用JavaScript。

答案 1 :(得分:1)

这是一些HTML示例,包括内联JS(try it)。我们需要在提交表单时打开一个新窗口以避免浏览器的弹出窗口阻止程序:

<form
    method="POST"
    action="http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echo.cgi"
    onsubmit="open('',this.target=new Date().getTime(),'menubar=yes,location=yes,resizable=yes,scrollbars=yes,width=800,height=600')">
    <!-- Text boxes, etc. go here --->
    <input type="submit" value="Submit">
</form>

在PHP脚本中,您可以使用(前面没有空格或其他字符):

<?php

// Your code that determines the URL; don't send any output from it!

header("Location: $url");

如果不这样做,您可以使用此PHP / JavaScript代码来实现类似的效果:

<script>
    location.replace("<?php echo $url; ?>");
</script>

答案 2 :(得分:0)

你可以使用Js window.open(“http://www.newurl.com”,“mywindow”);有关详细信息,请查看此链接http://www.javascript-coder.com/window-popup/javascript-window-open.phtml

答案 3 :(得分:0)

 <html>
<head>
 <script type="text/javascript">
function newWindow() {

    window.open("http://www.newurl.com", "", "width=400,height=500,top=50,left=280,
    resizable,toolbar,scrollbars,menubar,");
    }
    </script>
</head>
<body>
    <input type=submit  name="submit" value="Preview" onClick="newWindow();">  
</body>
</html>

答案 4 :(得分:0)

你不能在同一个会话中使用php打开新窗口只有javascript能够做到这一点,可以有两个场景

  1. 使用AJAX请求
  2. 重新加载页面并初始化javascript