2012-08-01 15 views
7

Ho un pulsante che consente all'utente di spostarsi su un'altra pagina. (Deve essere pulsante non link). Voglio aprire la pagina in una nuova scheda (o anche in una nuova finestra!). Devo usare JavaScript? o c'è un altro modo! Apprezzerò il tuo aiutoCome aprire una nuova scheda sul pulsante clic in Rails?

Cheers.

+0

Voglio solo sapere, perché è necessario che sia un pulsante e come si naviga nel sito utilizzando il pulsante? – index

+0

Beh, è ​​un tipo di pulsante personalizzato che usano le mie università. La navigazione è qualcosa di simile: Venus

+0

Ha senso ?! – Venus

risposta

13

per espandere le risposte che suggeriscono usando `target = "_ blank" in Rails ...

Se si sta utilizzando la button_to aiuto, questo è avvolto automaticamente in una forma da Rails. È il tag form che richiede questo attributo. Per ottenerlo, passarlo come un valore nella hash di opzioni html, ad esempio:

button_to t(:translated_text), foo_path(foo.id), class: 'btn btn-primary', form: {target: '_blank'} 

il class: e form: sono elementi del html_options hash. L'opzione form: è speciale perché indica a Rails che desideri passare l'opzione HTML al tag form, anziché al tag input del pulsante stesso.

0
$('#btn').click(function(){ 
    window.open('pageName'); 

})

0

target="_blank" è quello che volete, ma funziona solo su moduli e collegamenti.

Puoi stilizzare un link in modo che assomigli ad un pulsante con css abbastanza facilmente, il che sarebbe il modo più pulito per ottenere ciò che cerchi.

A meno che il pulsante non sia in un modulo, è sufficiente aggiungere target="_blank" al modulo e dovrebbe funzionare.

0

con JavaScript, questo seleziona tutti i pulsanti che hanno attributo href

$("button[href]").click(function() { 
    window.open($(this).attr('href')); 
}); 

Questo apre in realtà una nuova finestra, ma penso che quando il browser lo obbliga ad aprire in una nuova scheda, si aprirà in una nuova scheda .

Cheers!

Problemi correlati