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?

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


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>  

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>


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


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>

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.