新しいタブでフォームを送信する


143

新しいタブでsubmitによって呼び出されたページをロードしたい(この動作を回避した後、いくつかの機能をテストするだけです)。それは可能ですか?

回答:


305
<form target="_blank" [....]

新しいタブでフォームを送信します...これがあなたの探しているものかどうかわかりません。詳しく説明してください...


1
そうそう!それが私の言いたいことです!申し訳ありませんが私の英語はとてもがらくたです。私はトピックを編集しました、今のところ希望はもっと
包括的です

1
jqueryタグは、私を混乱私はあなたがAJAXリクエストを話していたと思った;)
Strae

4
@nalply:マジ?ほとんどのブラウザーは、Webサイトが新しいウィンドウ(target="_blank")を使用するように提案するたびにタブを使用します。そして、それは良いことです。なぜなら、誰もがWebサイトに新しいウィンドウを開かせたいとは思わないから_blankです。ほとんどすべてのWebサイトが現在使用しているので、このデフォルトが変更されることはないと思います。
ThiefMaster、

それは敷物の下の重要な細部を席巻しています。_blank新しいタブを開きません。これは新しいウィンドウを開いています。ほとんどの場合(常にではありませんが!!)、デフォルトで新しいタブが開きます。ブラウザの設定によります。大きく賛成された次の回答をご覧ください:stackoverflow.com/a/4907854/220060
nalply

@nalplyそのコマンドはリンクを新しいウィンドウで開くことに同意できますが、今日のすべての既知のブラウザーが新しいウィンドウをタブとして開くことにも同意する必要があるため、結果は同じです。ユーザーが新しいウィンドウを開くために、手動でブラウザを設定した場合は、その後、選択された彼がしたし、我々はこれを防ぐために何もしないことはできません。
Strae、

23

[送信]ボタンと[プレビュー]ボタンがあります。データベースに永続化せずに、送信されたフォームデータの印刷ビューをプレビューで表示したいと思います。したがって、[プレビュー]を新しいタブで開き、送信して同じウィンドウ/タブでデータを送信したいと思います。

<button type="submit" id="liquidacion_save" name="liquidacion[save]" onclick="$('form').attr('target', '');">Save</button></div>    <div>
<button type="submit" id="liquidacion_Previsualizar" name="liquidacion[Previsualizar]" onclick="$('form').attr('target', '_blank');">Preview</button></div>  

16

formtargetHTML5で導入された、という新しいボタン属性を使用することもできます。

<form>
  <input type="submit" formtarget="_blank"/>
</form>


8

このタグ付けされたjQueryがあるので、成功関数に何か付けたいと思いますか?

success: function(data){
    window.open('http://www.mysite.com/', '_blank');
}


2

これもうまくいきます。新しいタブハンドラがsubmitを実行している間、他のことができます。

<form target="_blank">
    <a href="#">Submit</a>
</form>

<script>
    $('a').click(function () {
        // do something you want ...

        $('form').submit();
    });
</script>

1

新しいウィンドウを新しいタブで開くようにブラウザーオプションを設定する必要があります。そうしないと、新しいブラウザーウィンドウが開きます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.