invia un modulo in una nuova scheda


143

Vorrei (solo per testare alcune funzioni, dopo che eviterò questo comportamento) caricare la pagina chiamata inviando in una nuova scheda: è possibile?

Risposte:


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

invierò il modulo in una nuova scheda ... Non sono sicuro se è questo quello che stai cercando, ti preghiamo di spiegare meglio ...


1
Ohhh si! questo è ciò che intendo! Mi dispiace che il mio inglese sia così schifoso. Ho modificato l'argomento, la speranza è più comprensiva in questo momento :)
markzzz,

1
il jquerytag mi ha confuso, pensavo che parlassi di una richiesta
Ajax

4
@nalply: Davvero? La maggior parte dei browser utilizza le schede ogni volta che un sito Web suggerisce loro di utilizzare una nuova finestra ( target="_blank"). E questa è una buona cosa perché praticamente nessuno vuole che un sito Web apra una nuova finestra e non credo che questo valore predefinito cambierà mai poiché praticamente tutti i siti Web utilizzano al _blankgiorno d'oggi.
ThiefMaster,

Questo è un dettaglio importante sotto il tappeto. _blanknon apre una nuova scheda. Sta aprendo una nuova finestra , che per lo più (ma non sempre !!) si apre per impostazione predefinita una nuova scheda . Dipende dalla configurazione del browser. Si prega di vedere questo pesantemente risposta upvoted: stackoverflow.com/a/4907854/220060
nalply

@nalply Posso concordare con te sul fatto che quel comando apre il collegamento in una nuova finestra , ma devi essere d'accordo con me sul fatto che oggi tutti i browser conosciuti aprano nuove finestre come schede , quindi il risultato è lo stesso. Se l'utente ha configurato manualmente il browser per aprire una nuova finestra, allora ha fatto una scelta e non possiamo fare nulla per impedirlo.
Strae,

23

Ho un pulsante [Invia] e un pulsante [Anteprima], voglio che l'anteprima mostri la vista di stampa dei dati del modulo inviato, senza persistere nel database. Pertanto desidero che [preview] si apra in una nuova scheda e invii per inviare i dati nella stessa finestra / scheda.

<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

È anche possibile utilizzare il nuovo attributo button chiamato formtargetintrodotto con HTML5.

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


8

Dato che hai questo jQuery taggato, suppongo che vuoi qualcosa che si attacca alla tua funzione di successo?

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


2

Funzionerà anche alla grande, puoi fare qualcos'altro mentre un nuovo gestore di schede invia.

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

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

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

1

Le opzioni del browser devono essere impostate per aprire nuove finestre in una nuova scheda, altrimenti viene aperta una nuova finestra del browser.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.