This isn''t Rails-specific, and I''m sorry for that, but I haven''t been able to get a response in the #prototype/#javascript/#ror channels, nor find anything via Google. I have a form element that I want to be hidden when the page first loads, and appear when a user clicks the link. Here''s the code: <div id=''signin-link''><%= link_to ''Sign In'', ''#'', :onclick => "Element.show(''signin-form'')" %></div> <div id=''signin-form''> <%= start_form_tag(signin_url)%> <%= text_field_tag :username %> <%= password_field_tag :password %> <%= submit_tag ''Sign In'' %> <%= end_form_tag %> </div> In my CSS file I have #signin-form { display: none; } Now checking out http://wiki.script.aculo.us/scriptaculous/show/Element.show, I''m pretty sure that''s all I have to do. However if I click on the link, the form doesn''t get shown. No JS errors. If I have the element shown at the page start, I can hide/toggle it all I want. Just can''t start off with display:none apparently. I''m using Firefox 1.5.01 and the javascript files that were installed with "rake rails:update". Pat
If you set display: none in the CSS file, Javascript won''t realize it. You have to manually specify style="display: none;" in the HTML. On 3/31/06, Pat Maddox <pergesu@gmail.com> wrote:> > This isn''t Rails-specific, and I''m sorry for that, but I haven''t been > able to get a response in the #prototype/#javascript/#ror channels, > nor find anything via Google. > > I have a form element that I want to be hidden when the page first > loads, and appear when a user clicks the link. Here''s the code: > > <div id=''signin-link''><%= link_to ''Sign In'', ''#'', :onclick => > "Element.show(''signin-form'')" %></div> > > <div id=''signin-form''> > <%= start_form_tag(signin_url)%> > <%= text_field_tag :username %> > <%= password_field_tag :password %> > <%= submit_tag ''Sign In'' %> > <%= end_form_tag %> > </div> > > > In my CSS file I have > #signin-form { > display: none; > } > > Now checking out > http://wiki.script.aculo.us/scriptaculous/show/Element.show, I''m > pretty sure that''s all I have to do. However if I click on the link, > the form doesn''t get shown. No JS errors. If I have the element > shown at the page start, I can hide/toggle it all I want. Just can''t > start off with display:none apparently. I''m using Firefox 1.5.01 and > the javascript files that were installed with "rake rails:update". > > Pat > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-------------- next part -------------- An HTML attachment was scrubbed... URL: http://wrath.rubyonrails.org/pipermail/rails/attachments/20060331/1f7d05c8/attachment-0001.html
Try it with the style embedded. i.e: <div id="signin-form" style="display:none"> I''m not sure what difference that would make, but that''s what works for me. -- Posted via http://www.ruby-forum.com/.
Cool, that works, thanks for the help. On 3/31/06, albert elegance <r888888888@gmail.com> wrote:> If you set display: none in the CSS file, Javascript won''t realize it. You > have to manually specify style="display: none;" in the HTML. > > > On 3/31/06, Pat Maddox <pergesu@gmail.com > wrote: > > > This isn''t Rails-specific, and I''m sorry for that, but I haven''t been > able to get a response in the #prototype/#javascript/#ror channels, > nor find anything via Google. > > I have a form element that I want to be hidden when the page first > loads, and appear when a user clicks the link. Here''s the code: > > <div id=''signin-link''><%= link_to ''Sign In'', ''#'', :onclick => > "Element.show(''signin-form'')" %></div> > > <div id=''signin-form''> > <%= start_form_tag(signin_url)%> > <%= text_field_tag :username %> > <%= password_field_tag :password %> > <%= submit_tag ''Sign In'' %> > <%= end_form_tag %> > </div> > > > In my CSS file I have > #signin-form { > display: none; > } > > Now checking out > http://wiki.script.aculo.us/scriptaculous/show/Element.show, > I''m > pretty sure that''s all I have to do. However if I click on the link, > the form doesn''t get shown. No JS errors. If I have the element > shown at the page start, I can hide/toggle it all I want. Just can''t > start off with display:none apparently. I''m using Firefox 1.5.01 and > the javascript files that were installed with "rake rails:update". > > Pat > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails > > >
The difference is that "display:none" in external CSS overwrites the browsers default for the display attribute, which is (for most elements) either "block" or "inline", whereas setting it on the "style" attribute you can fall back to the browsers default later (which is what Element.show does). That''s a bit of an annoyance with the CSS spec, that it doesn''t seperate how an element should "flow" on the page from whether it should be displayed at all. -Thomas Am 01.04.2006 um 01:07 schrieb Adam Bloom:> Try it with the style embedded. i.e: > > <div id="signin-form" style="display:none"> > > I''m not sure what difference that would make, but that''s what works > for > me. > > -- > Posted via http://www.ruby-forum.com/. > _______________________________________________ > Rails mailing list > Rails@lists.rubyonrails.org > http://lists.rubyonrails.org/mailman/listinfo/rails