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?

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 ...


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>  

16

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

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


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');
}


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>

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.