Forum: Ruby on Rails How to set the focus to a specified field in a form

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ed437e52d8d6720308720e7e678f3e6d?d=identicon&s=25 Patrick Doyle (Guest)
on 2008-12-05 02:51
(Received via mailing list)
This is probably a general HTML question, but I'll ask it here anyway.

Is there any way to set the focus to a specific field in a form
generated in
a view?  The little I've found on so far suggests that I need to add
some
javascript to do this.  I can go figure out how to do that, but it seems
like it should be the sort of thing that could already be built into
Rails.

--wpd
2d8132658d56e51f19ace1c68e48b6aa?d=identicon&s=25 Thorsten Mueller (thorsten)
on 2008-12-05 10:51
(Received via mailing list)
this one requires prototype (for textfield with id "searchtext"):

<script language="JavaScript">
  $("searchtext").focus();
</script>

without prototype it would be something like this:
document.formname.fieldname.focus();
E64d436cb6ecdfe7be5b350776f58c90?d=identicon&s=25 Chris Bartlett (Guest)
on 2008-12-05 12:28
(Received via mailing list)
On Dec 5, 10:50 pm, Thorsten Müller <thors...@80beans.com> wrote:
> this one requires prototype (for textfield with id "searchtext"):
>
> <script language="JavaScript">
>         $("searchtext").focus();
> </script>

Does that work for you in Internet Explorer? It didn't for me. I'm
currently using a partial to hold my form-focus JavaScript and I pass
it the ID of the field I require focus for.

#/views/shared/_form_focus.html.erb
<script language="javascript" type="text/javascript"><!--
setTimeout(
function()
{
var myfield = document.getElementById('<%= "#{focusField}" -%>');
myfield.focus();
myfield.select();
}
, 1);
//--></script>

Then I call that in a view (in this example to pass focus to the field
with id first_name):

<%= render :partial => 'shared/form_focus', :locals => {:focusField =>
'first_name'} -%>

For more discussion about this solution, see
http://forums.htmlhelp.com/index.php?act=Print&cli...
2d8132658d56e51f19ace1c68e48b6aa?d=identicon&s=25 Thorsten Mueller (thorsten)
on 2008-12-05 12:48
(Received via mailing list)
> Does that work for you in Internet Explorer? It didn't for me. I'm
> currently using a partial to hold my form-focus JavaScript and I pass
> it the ID of the field I require focus for.

Sorry, can't say for sure. At least not after reading the thread you
linked.
If I got this right, the problem you mention happens only, if some
other
javascript (like alert) is executed same time.

But I can't test it right now.
Ed437e52d8d6720308720e7e678f3e6d?d=identicon&s=25 Patrick Doyle (Guest)
on 2008-12-05 14:25
(Received via mailing list)
On Fri, Dec 5, 2008 at 4:50 AM, Thorsten Müller
<thorsten@80beans.com>wrote:

>
> this one requires prototype (for textfield with id "searchtext"):
>
> <script language="JavaScript">
>        $("searchtext").focus();
> </script>
>
Thank you.  That did it (for me with Firefox).

--wpd
Bee69cfed999cd13e3bff73d472a39ee?d=identicon&s=25 Hassan Schroeder (Guest)
on 2008-12-05 18:10
(Received via mailing list)
<script language="JavaScript">

And remember, kids, it's never too late to pick up bad habits.  :-)

The "language" attribute of the script tag has been deprecated for,
oh, what, like TEN YEARS now?

Just sayin' ...

--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
Ed437e52d8d6720308720e7e678f3e6d?d=identicon&s=25 Patrick Doyle (Guest)
on 2008-12-05 18:13
(Received via mailing list)
On Fri, Dec 5, 2008 at 12:09 PM, Hassan Schroeder <
hassan.schroeder@gmail.com> wrote:

>
> <script language="JavaScript">
>
> And remember, kids, it's never too late to pick up bad habits.  :-)
>
> The "language" attribute of the script tag has been deprecated for,
> oh, what, like TEN YEARS now?
>
> Just sayin' ...
>
Ok,
As one of the "kids" to whom you refer (albeit a rather old, hairy
"kid"),
what would be the good habit I would want use instead?

--wpd
Bee69cfed999cd13e3bff73d472a39ee?d=identicon&s=25 Hassan Schroeder (Guest)
on 2008-12-05 18:42
(Received via mailing list)
2008/12/5 Patrick Doyle <wpdster@gmail.com>:

> what would be the good habit I would want use instead?

Short answer:   <script type="text/javascript">

Longer answer: read the spec -- that is, develop the habit of looking
up the tags you're using rather than relying on potentially incorrect
or out-of-date online references --  <http://www.w3.org/TR/html401/>

Running your pages through the W3C validator will also point out
problematic markup, and frequently prevent a lot of styling and JS
headaches.

FWIW,
--
Hassan Schroeder ------------------------ hassan.schroeder@gmail.com
This topic is locked and can not be replied to.