ここに、インラインJS(try it)を含むHTMLの例があります。私たちは、フォームが、ブラウザのポップアップブロックを回避するために提出されたときに新しいウィンドウを開く必要があります:あなたのPHPスクリプトで
<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
// 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>
ポップアップブロッカーは、その振る舞い好きではないかもしれません。私はターゲットを適切に設定したハイパーリンクをエコーします。 – Novikov
私は@Novikovに同意します。新しいウィンドウを開くと、ユーザーが迷惑を掛けます。なぜ 'header'を使ってリダイレクトをしないのですか?また、新しいウィンドウの目的は何ですか? –
クライアントの要件は、それがトータルリダイレクトであるため、新しいウィンドウが表示されることです。私は代わりにハイパーリンクを提供したいが、ポップアップが現れなければならない。また、フォームを投稿した後に現在のページを置き換える方法はありますか?同じウィンドウ内で新しいURLにリダイレクトするときのように。 – Gotjosh