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?

Odpowiedzi:


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

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


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>  

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>


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


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>

1

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.