2012-08-01 9 views
7

Mam przycisk, który kieruje użytkownika do innej strony. (Musi to być przycisk, a nie link). Chcę otworzyć stronę w nowej karcie (lub nawet w nowym oknie!). Czy muszę używać JavaScript? czy jest jakiś inny sposób! Będę wdzięczny za twoją pomoc.Jak otworzyć nową zakładkę przycisku kliknij w Rails?

Pozdrawiam.

+0

Po prostu chcesz wiedzieć, dlaczego potrzebujesz go jako przycisku i jak poruszasz się po stronie za pomocą przycisku? – index

+0

Cóż, to rodzaj spersonalizowanego przycisku, z którego korzystają moje uczelnie. Nawigacja jest coś takiego:

+0

Czy to ma sens ?! – Venus

Odpowiedz

13

Aby rozwinąć na odpowiedź sugerujących za pomocą `target =„_ blank”w Rails ...

Jeśli używasz button_to pomocnika, to jest automatycznie zawinięte w postaci szyn. Jest to tag form, który potrzebuje tego atrybutu. Je zdobyć, należy przekazać go jako wartość hash opcji HTML, na przykład:

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

class: i form: są elementy html_options hash. Opcja form: jest wyjątkowa, ponieważ informuje Railsy, ​​że chcesz przekazać opcję HTML do znacznika form, zamiast znacznika input samego przycisku.

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

})

0

target="_blank" to, co chcesz, ale to działa tylko na formularzach i linki.

Możesz dowolnie kształtować link, aby wyglądać jak przycisk z css, co byłoby najczystszym sposobem na osiągnięcie tego, czego szukasz.

O ile przycisk znajduje się w formularzu, można po prostu dodać do formularza formularz target="_blank", który powinien działać.

0

z JavaScript, to wybiera wszystkie przyciski, które mają atrybut href

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

To rzeczywiście otwiera nowe okno, ale myślę, że gdy przeglądarka zmusza go otworzyć w nowej karcie, otworzy się w nowej karcie .

Pozdrawiam!

Powiązane problemy