Typo in the alert, but even adding logging to the AjaxEventBehavior, it never 
fires.

.add(new AjaxEventBehavior("onload"){
                protected void onEvent(AjaxRequestTarget target){
                        log.error("*************************************");
                        target.appendJavascript("alert('hello');");
                }
        }));

logs show nothing.

Is it because its loading asynchronously after the rest of the page loads? If 
so, how can I tap into it?

cheers.


On 21/01/2010, at 3:26 PM, Steve Swinsburg wrote:

> Hi Lionel,
> 
> Thanks and yes, thats what I am trying to do, attach some javascript after 
> something has rendered. So I attached an AjaxEventBehaviour to it and now 
> have this:
> 
> add(new AjaxLazyLoadPanel("myPanel") {
> 
>       @Override
>          public Component getLazyLoadComponent(String markupId) {
>               return new SomePanel(markupId);
>          }
> }.add(new AjaxEventBehavior("onload"){
>         protected void onEvent(AjaxRequestTarget target){
>               target.appendJavascript("alert('hello)';");
>         }
> }));
> 
> but the javascript is never fired.
> 
> Any more ideas?
> 
> cheers,
> Steve
> 
> 
> On 21/01/2010, at 3:09 PM, Lionel Port wrote:
> 
>> Hi Steve,
>> 
>> Are you trying to do this..
>> 
>> http://cwiki.apache.org/WICKET/adding-javascript-from-wicket.html
>> 
>> with an onload event instead of onblur, or do I misunderstand.
>> 
>> regards,
>> Lionel
>> 
>> On Thu, Jan 21, 2010 at 2:56 PM, Steve Swinsburg
>> <steve.swinsb...@gmail.com> wrote:
>>> So  overriding onAfterRender for a component doesn't just override it for 
>>> that instance of the component?
>>> 
>>> Also I can see the markup is being added to the end of the page after the 
>>> closing HTML. However, the Javadocs say it is meant to be called after 
>>> after the actual component is finished rendering. So it look s like 
>>> onAfterRender is not what I need.
>>> 
>>> Can I attach to a different phase in the render lifecycle to call the 
>>> javascript when that specific panel has just finished rendering?
>>> 
>>> thanks,
>>> Steve
>>> 
>>> 
>>> 
>>> 
>>> On 21/01/2010, at 2:52 PM, Igor Vaynberg wrote:
>>> 
>>>> you are writing out javascript after every component render...
>>>> 
>>>> perhaps you should keep a boolean flag that marks if you rendered the
>>>> js yet or not.
>>>> 
>>>> alternatively you can add a behavior to the panel with istemporary() {
>>>> return true; }
>>>> 
>>>> -igor
>>>> 
>>>> On Wed, Jan 20, 2010 at 7:24 PM, Steve Swinsburg
>>>> <steve.swinsb...@gmail.com> wrote:
>>>>> I have an AjaxLazyLoadPanel and want some javascript to fire after its 
>>>>> loaded it's contents:
>>>>> 
>>>>> I assumed I could override onAfterRender and add my javascript like so:
>>>>> 
>>>>> add(new AjaxLazyLoadPanel("myPanel") {
>>>>> 
>>>>>        @Override
>>>>>        public Component getLazyLoadComponent(String markupId) {
>>>>>            return new SomePamel(markupId);
>>>>>        }
>>>>> 
>>>>>        @Override
>>>>>        protected void onAfterRender() {
>>>>>                JavascriptUtils.writeJavascript(getResponse(), 
>>>>> "alert('hello');");
>>>>>                super.onAfterRender();
>>>>>        }
>>>>> 
>>>>> });
>>>>> 
>>>>> Except it is called twice, it looks like once when the page is loading 
>>>>> and then again when the actual panel has been loaded.
>>>>> 
>>>>> Is there another way to achieve what I want?
>>>>> 
>>>>> thanks,
>>>>> Steve
>>>>> 
>>>>> 
>>>> 
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>> 
>>> 
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>> 
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>> 
> 

Reply via email to