I tried to achieve the same thing some time ago, and I couldn't find anything that would work with dojo and EventListeners. As you mentioned, this is probably due to tapestry connect events being called _after_ any point where we could insert any custom js.
The workaround I found to work perfectly is use contrib:XTile component instead, with a small js script that calls the XTile generated js function at the bottom of the page hth Ch. 2006/10/26, Peter Beshai <[EMAIL PROTECTED]>:
Oh, I should've mentioned I tried that already. It doesn't give an error on page load, but it also doesn't call the listener. It gives this error when I try calling it manually: >>>dojo.byId("mockHidden").click() Error: buildTargetProperties() Unknown target type:[object HTMLDocument] I have tried making the mockHidden a Button (forgot this causes EventListener to break [https://issues.apache.org/jira/browse/TAPESTRY-1095]), TextField (same error), Submit button (works, but sends the page into an infinite loop... it doesn't pick up that it should be asynchronous), a <span> (same error), and currently a Checkbox. Also, onclick() -worked- after the page had loaded and I tried calling it manually. Peter Beshai >From: "Karthik N" <[EMAIL PROTECTED]> >Reply-To: "Tapestry users" <users@tapestry.apache.org> >To: "Tapestry users" <users@tapestry.apache.org> >Subject: Re: Call listener after page appears on screen >Date: Thu, 26 Oct 2006 20:25:55 +0530 > >please try click() instead of onclick() > >On 10/26/06, Peter Beshai <[EMAIL PROTECTED]> wrote: >> >>Is there an easy way of calling a listener after the page appears >>(rendered) >>on screen? I couldn't think of one, and so I tried having adding an event >>to >>the onload of the page: >> >><script type="text/javascript"> >>dojo.event.connect(window, "onload",dojo.byId("mockHidden").onclick()); >></script> >> >>or >> >><script type="text/javascript"> >>dojo.addOnLoad(function(e){ dojo.byId("mockHidden").onclick() }); >></script> >> >>where mockHidden is a component that has an eventlistener (the listener I >>want to have called after the page is loaded) attached to it in my .java >>file. If I call dojo.byId("mockHidden").onclick() from firebug's console, >>it >>works, but when the page loads it says :: dojo.byId ("mockHidden").onclick >>is >>not a function. >> >>I figured that was because tapestry connects the event at the end of the >>page (and that <script> block is somewhere before that). Is there any way >>of >>having the javascript called AFTER tapestry has connected the event?? Or >>is >>there another way of accomplishing this goal? >> >>Thanks, >>Peter Beshai >> >>_________________________________________________________________ >>Voyez vos amis en faisant un appel vidèo dans Windows Live Messenger >>http://imagine-msn.com/messenger/launch80/default.aspx?locale=fr-ca >> >> >>--------------------------------------------------------------------- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > >-- >Thanks, Karthik _________________________________________________________________ Découvrez Live Search de votre PC ou de votre appareil mobile dès aujourd'hui. http://www.live.com/?mkt=fr-ca --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]