Dudebot
(Dudebot)
March 2, 2010, 3:26pm
1
I'd like my print link to look like a button. Its action responds to
a GET request (as I think it should.) I wrote this helper:
<code>
def button_link( label, path, *features ) # makes a link look like a
button
linktext = "<input type=button value='" << label << "' onClick=\""
if features.length > 0 # opens new window, assigns features
linktext << "window.open('" << path << "','" << label << "'"
features.each { |feature| linktext << ",'" << feature << "'" }
linktext << ');return false;">'
else # opens in same window
linktext << "self.location='" << path << '\'">'
end
end
</code>
Which works as expected in the view, e.g.
<code>
<%= button_link( 'Print', url_for( ... ), 'new_window' ) %>
</code>
But feels kind of hacky. Does anyone have a more elegant solution?
TIA,
Craig
hassan
(Hassan Schroeder)
March 2, 2010, 3:31pm
2
Just style a regular link; that's what CSS is for...
Dudebot
(Dudebot)
March 2, 2010, 3:54pm
3
Just style a regular link; that's what CSS is for...
--
Hassan Schroeder ------------------------ hassan.schroe...@gmail.com
twitter: @hassan
That would be useful if you wanted to use an image for the link. But
what if you want the default button for the browser?
Craig
hassan
(Hassan Schroeder)
March 2, 2010, 4:04pm
4
You don't need to use an image to style a link to look generically like
a button, but yes, if you want it to look like a platform's native button,
then you need to use a form element (or jump through a lot of hoops
to try to simulate it).
Dudebot
(Dudebot)
March 2, 2010, 4:15pm
5
You don't need to use an image to style a link to look generically like
a button, but yes, if you want it to look like a platform's native button,
then you need to use a form element (or jump through a lot of hoops
to try to simulate it).
--
Hassan Schroeder ------------------------ hassan.schroe...@gmail.com
twitter: @hassan
How would you style a link to look generically like a button without
an image? Sorry for wandering OT into CSS land, but if the answer
works, it cuts out some Rails code in my app. Keep in mind that I
need the functionality of opening a new window when the user presses a
button, which my code currently provides.
Thanks,
Craig
hassan
(Hassan Schroeder)
March 2, 2010, 4:54pm
6
Dudebot
(Dudebot)
March 2, 2010, 5:42pm
7
A quick example: <http://webtuitive.com/samples/button.html> ;
--
Hassan Schroeder ------------------------ hassan.schroe...@gmail.com
twitter: @hassan
Appreciate it, but that's a heck of a lot of CSS code to get something
that approximates the look of a default button
Thanks,
Craig
hassan
(Hassan Schroeder)
March 2, 2010, 5:48pm
8
Are you kidding? It's utterly trivial. And you don't even have to use
most of that if you don't care about the hover/active behavior.
And I would certainly prefer it to creating a form element needlessly
for a simple link. But YMMV.
Appreciate it, but that's a heck of a lot of CSS code to get something
that approximates the look of a default button
Thanks,
Craig
Hassan is right that its trivial css implementation.
If you feel like learning SASS & Compass, there is the fancy buttons
mixin that gives very , well fancy, buttons
http://brandonmathis.com/blog/2009/11/19/fancy-buttons-are-here/
Brian