新しいウィンドウ(新しいタブ)でform送信先を開く方法


はじめに

inputタグのsubmitで送信したあとに新しいタブで開く方法の備忘録です。

jQueryを利用した方法から、HTMLタグのみで行う方法など色々ありますが、状況によっては機能しないものもあります。

自身の環境にあった方法がここでは見つかると思いますので、ご参考までに。

新規タブでform送信先を開く

formの属性にtarget="_blank"を指定する

もっとも一般的に知られている方法です。

formタグにはtarget属性を指定することができ、下記のように指定することで新しいウィンドウ(新しいタブ)で開くことができます。

<form action="sample.php" method="post" target="_blank">
    <input type="submit" value="send">
</form>

inputの属性にformtarget="_blank"を指定する

あまり知られていないですが、inputタグの属性にはformtarget属性というものを指定することができます。

このformtargetですが、formタグのtarget属性に指定した開き方よりも優先されます。

ただし、HTML5から新たに導入された属性となります。

<form action="sample.php" method="post">
    <input type="submit" value="send" formtarget="_blank">
</form>

jQueryを使う

jQueryではさまざまな方法があるかと思いますが、ここでは一般的に利用する方法の紹介です。

<script type="text/javascript">
    $("form").submit(function() {
        $("form").attr('target', '_blank');
        return true;
    });
</script>

最後に

いかがでしたでしょうか。

新しいウィンドウ(新しいタブ)で送信先を開く方法は色々ありますが、PHPを利用した環境など自身にあった方法で活用していただけると幸いです。