prześlij formularz w nowej karcie

143

Chciałbym (tylko po to, aby przetestować niektóre funkcje, po tym jak uniknę tego zachowania) załadować stronę wywołaną przez Prześlij na nową kartę: czy to możliwe?

markzzz
źródło

Odpowiedzi:

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

prześlę formularz w nowej zakładce ... Nie jestem pewien, czy tego właśnie szukasz, wyjaśnij lepiej ...

Strae
źródło
1
OOO tak! to miałem na myśli! Przepraszam, mój angielski jest taki gówniany. Zredagowałem temat, nadzieja jest teraz bardziej
kompleksowa
1
jquerytag mylić mnie, myślałem, że rozmawiali o ajax żądanie;)
Strae
4
@nalply: Poważnie? Większość przeglądarek korzysta z zakładek za każdym razem, gdy witryna sugeruje użycie nowego okna ( target="_blank"). I to dobrze, ponieważ prawie nikt nie chce, aby witryna otwierała nowe okno i nie sądzę, aby to ustawienie domyślne kiedykolwiek się zmieniło, ponieważ prawie każda witryna używa _blankobecnie.
ThiefMaster
To zamiatanie ważnego szczegółu pod dywan. _blanknie otwiera nowej karty. Jest to otwarcie nowego okna , które najczęściej (ale nie zawsze !!) domyślnie otwiera nową kartę . To zależy od konfiguracji przeglądarki. Zobacz tę mocno przegłosowaną odpowiedź: stackoverflow.com/a/4907854/220060
nalply
@nalply Zgadzam się z tobą, że to polecenie otwiera link w nowym oknie , ale musisz się ze mną zgodzić, że wszystkie znane dziś przeglądarki otwierają nowe okna jako zakładki , więc wynik jest taki sam. Jeśli użytkownik ręcznie skonfigurował przeglądarkę, aby otworzyć nowe okno, jest to wybór, którego dokonał i nie możemy nic zrobić, aby temu zapobiec.
Strae
23

Mam przycisk [wyślij] i [podgląd], chcę, aby podgląd pokazywał widok wydruku przesłanych danych formularza, bez utrwalania ich w bazie danych. Dlatego chcę, aby [podgląd] otworzył się w nowej karcie i przesłał dane do przesłania w tym samym oknie / karcie.

<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
źródło
16

Możliwe jest również użycie nowego atrybutu przycisku o nazwie, formtargetktóry został wprowadzony w HTML5.

<form>
  <input type="submit" formtarget="_blank"/>
</form>
dragontree
źródło
15

Dodaj target="_blank"do <form>tagu.

ThiefMaster
źródło
8

Skoro masz już otagowane jQuery, zakładam, że chcesz, aby coś zostało w Twojej funkcji sukcesu?

success: function(data){
    window.open('http://www.mysite.com/', '_blank');
}
SickHippie
źródło
4

Spróbuj użyć jQuery

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

Oto pełna odpowiedź - http://ftutorials.com/open-html-form-in-new-tab/

sieć i technologia
źródło
2

To również będzie działać świetnie, możesz zrobić coś innego, podczas gdy nowy program obsługi kart wysyła.

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

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

        $('form').submit();
    });
</script>
Połączyć
źródło
1

W opcjach przeglądarki należy ustawić otwieranie nowych okien w nowej karcie, w przeciwnym razie zostanie otwarte nowe okno przeglądarki.

ArtieJ
źródło