On Dec 30, 2011, at 11:32 AM, Craig White wrote:
> Previous versions of Rails, I could just...
>
> (app/helpers/application_helper.rb)
> def set_focus_to_id(id)
> javascript_tag("$('#{id}').focus()");
> end
>
> then in any view, do something like
> <%= set_focus_to_id 'user_uid' %>
>
> but this doesn't work in Rails 3.1.x
>
> What is the new preferred method for doing this?
View source (in a browser) and see if you have the prototype.js library loaded.
focus() is a Prototype method (unless I'm wrong and it's in jQuery as well) and
without the library it won't work.
3.1 switched to jQuery, which annoys me, but there is a gem you can add to put
things right again.
One other thing to look at -- is your call to set_focus_to_id appearing (in
source) below the element it refers to? If it isn't, then you have to wrap your
call in an observer callback, so that you are sure that the DOM is ready and
knows about the element you're trying to modify.
If your code is at the bottom of your view, then you should be fine, but if
it's above the referenced element, or if it's in a content_for :head block,
then you have to do something like this:
#prototype-flavored javascript
document.observe('dom:loaded', function(){
//your code here
});
Walter
>
> --
> Craig White ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [email protected]
> 1.800.869.6908 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ www.ttiassessments.com
>
> Need help communicating between generations at work to achieve your desired
> success? Let us help!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.