Senden Sie ein Formular in einem neuen Tab

143

Ich möchte (nur um einige Funktionen zu testen, nachdem ich dieses Verhalten vermieden habe) die von submit aufgerufene Seite auf einen neuen Tab laden: Ist das möglich?

markzzz
quelle

Antworten:

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

wird das Formular in einem neuen Tab einreichen ... Ich bin nicht sicher, ob dies das ist, wonach Sie suchen, bitte erklären Sie es besser ...

Strae
quelle
1
Ohhh ja! das ist, was ich meine! Entschuldigung, mein Englisch ist so beschissen. Ich habe das Thema bearbeitet, die Hoffnung ist
momentan umfangreicher
1
Das jqueryEtikett verwirrte mich, ich dachte, Sie sprachen über eine Ajax-Anfrage;)
Strae
4
@nalply: Ernsthaft? Die meisten Browser verwenden Tabs jedes Mal, wenn eine Website ihnen vorschlägt, ein neues Fenster zu verwenden ( target="_blank"). Und das ist gut so, denn so gut wie niemand möchte, dass eine Website ein neues Fenster öffnet, und ich glaube nicht, dass sich diese Standardeinstellung jemals ändern wird, da _blankheutzutage so ziemlich jede Website verwendet wird .
ThiefMaster
Das fegt ein wichtiges Detail unter den Teppich. _blanköffnet keinen neuen Tab. Es wird ein neues Fenster geöffnet , in dem meistens (aber nicht immer !!) standardmäßig ein neuer Tab geöffnet wird . Dies hängt von der Konfiguration des Browsers ab. Bitte sehen Sie diese stark positiv bewertete Antwort: stackoverflow.com/a/4907854/220060
nalply
@nalply Ich kann Ihnen zustimmen, dass dieser Befehl den Link in einem neuen Fenster öffnet , aber Sie müssen mir zustimmen, dass alle heute bekannten Browser neue Fenster als Registerkarten öffnen , sodass das Ergebnis dasselbe ist. Wenn der Benutzer den Browser manuell so konfiguriert hat, dass ein neues Fenster geöffnet wird, hat er eine Auswahl getroffen , und wir können nichts tun, um dies zu verhindern.
Strae
23

Ich habe eine [Senden] - und eine [Vorschau] -Schaltfläche. Ich möchte, dass die Vorschau die Druckansicht der übermittelten Formulardaten anzeigt, ohne sie in der Datenbank zu speichern. Daher möchte ich, dass [Vorschau] in einer neuen Registerkarte geöffnet und gesendet wird, um die Daten in demselben Fenster / derselben Registerkarte zu senden.

<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>  
juanmf
quelle
16

Es ist auch möglich, das neue Schaltflächenattribut mit dem Namen formtargetHTML5 zu verwenden.

<form>
  <input type="submit" formtarget="_blank"/>
</form>
Dragontree
quelle
15

In target="_blank"zum <form>Tag.

DiebMaster
quelle
8

Da Sie dieses getaggte jQuery haben, gehe ich davon aus, dass Sie möchten, dass etwas in Ihrer Erfolgsfunktion bleibt?

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

Versuchen Sie es mit jQuery

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

Hier ist eine vollständige Antwort - http://ftutorials.com/open-html-form-in-new-tab/

Web & Tech
quelle
2

Dies wird auch gut funktionieren, Sie können etwas anderes tun, während ein neuer Tab-Handler die Übermittlung.

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

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

        $('form').submit();
    });
</script>
Verknüpfung
quelle
1

Ihre Browseroptionen müssen so eingestellt sein, dass neue Fenster in einer neuen Registerkarte geöffnet werden. Andernfalls wird ein neues Browserfenster geöffnet.

ArtieJ
quelle