envie um formulário em uma nova guia

143

Gostaria (apenas para testar algumas funções, depois de evitar esse comportamento) para carregar a página chamada enviando em uma nova guia: é possível?

markzzz
fonte

Respostas:

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

enviará o formulário em uma nova guia ... Não tenho certeza se é isso que você está procurando, por favor, explique melhor ...

Strae
fonte
1
Ohhh sim! é o que eu quero dizer! Desculpe meu inglês é tão ruim. Eu editei o tópico, a esperança é direito mais comprensive agora :)
markzzz
1
a jquerytag me confundiu, eu pensei que você estava falando de uma solicitação ajax;)
Strae
4
@ nalply: Sério? A maioria dos navegadores usa guias sempre que um site sugere que eles usem uma nova janela ( target="_blank"). E isso é uma coisa boa, porque praticamente ninguém quer que um site abra uma nova janela e eu não acho que esse padrão jamais mude, já que praticamente todos os sites usam _blankhoje em dia.
ThiefMaster 21/10/12
Isso está varrendo um detalhe importante para debaixo do tapete. _blanknão abre uma nova guia. Está abrindo uma nova janela , que geralmente (mas nem sempre !!) é padrão para abrir uma nova guia . Depende da configuração do navegador. Por favor, veja esta resposta fortemente votada: stackoverflow.com/a/4907854/220060
nalply
@nalply Posso concordar com você que esse comando abre o link em uma nova janela , mas você precisa concordar comigo que todo o navegador conhecido hoje abre novas janelas como guias , para que o resultado seja o mesmo. Se o usuário configurou o navegador manualmente para abrir uma nova janela, é uma escolha que ele fez e não podemos fazer nada para evitar isso.
Strae
23

Eu tenho os botões [enviar] e [visualizar]. Quero que a visualização mostre a visualização de impressão dos dados do formulário enviado, sem persistir no banco de dados. Portanto, quero que a [visualização] seja aberta em uma nova guia e envie para enviar os dados na mesma janela / guia.

<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
fonte
16

Também é possível usar o novo atributo de botão chamado formtargetque foi introduzido no HTML5.

<form>
  <input type="submit" formtarget="_blank"/>
</form>
dragontree
fonte
15

Adicione target="_blank"à <form>tag.

ThiefMaster
fonte
8

Desde que você tenha esse jQuery marcado, presumo que você queira manter alguma coisa na sua função de sucesso?

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

Tente usar jQuery

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

Aqui está uma resposta completa - http://ftutorials.com/open-html-form-in-new-tab/

web e tecnologia
fonte
2

Isso também funcionará muito bem, você poderá fazer outra coisa enquanto um novo manipulador de guias enviar.

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

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

        $('form').submit();
    });
</script>
Ligação
fonte
1

As opções do seu navegador devem estar definidas para abrir novas janelas em uma nova guia, caso contrário, uma nova janela do navegador será aberta.

ArtieJ
fonte