Is there a rails equivalent of <body onload="do_stuff()">


#1

Hi,

I want to call a javascript function after my page has loaded.
Currently I am using:

Is there a neater / tidier way to do this using any rails specific commands?

I found this:

document.observe(‘dom:loaded’, function() {
$(‘state_field’).hide();
$(‘person_country_id’).observe(‘change’, countrySelected);
});

which is part of a tutorial for creating dynamic drop down menus, but
when I, for example, try:

document.observe(‘dom:loaded’, function() {
alert(‘hello’);
});

this has no effect, rather it is output as html, as though I had witten

document.observe('dom:loaded', function() {alert('hello');});

Grateful for any help.


#2

Sorry, I forgot the tags.
Now eveything works.
Forget I spoke :slight_smile:


#3

Jim B. wrote:

Sorry, I forgot the tags.
Now eveything works.

Excellent! Now take the JS out of the HTML and put it in an external
file.

Best,

Marnen Laibow-Koser
http://www.marnen.org
removed_email_address@domain.invalid


#4

Excellent! Now take the JS out of the HTML and put it in an external
file.

Cool, that works.
Thanks a lot.


#5

On Sat, May 30, 2009 at 9:23 AM, Jim B.
removed_email_address@domain.invalid wrote:

Excellent! Now take the JS out of the HTML and put it in an external
file.

Cool, that works.
Thanks a lot.

You might want to have a look at Low Pro

http://www.danwebb.net/2006/9/3/low-pro-unobtrusive-scripting-for-prototype

It was built for prototype, but there’s a version for use with jquery as
well
http://www.danwebb.net/2008/2/3/how-to-use-low-pro-for-jquery

Although I haven’t used that.

Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale