Try calling AjaxRequestTarget#focusComponent(null) from the event handler.

-Matej

On Wed, Sep 10, 2008 at 4:24 AM, Scott Swank <[EMAIL PROTECTED]> wrote:
> Possible bug in Wicket 1.3.4 JavaScript
>
> I am seeing a focus issue when an
> AjaxFormComponentUpdatingBehavior("onblur") is fired from a form
> component and the next form component is a drop down.  When I then tab
> out of the drop down I go to the 1st item on the page rather than the
> next item on the form.
>
> This only occurs in IE6, and only if an element prior to the dropdown
> is updated.  Here are the ajax logs from IE6 and Firefox3.  I suspect
> that this behavior is related to the fact that I see details such as
> the following for FF3, but not for IE6.
>
> INFO: Calling focus on wicket-generated-id-2
> INFO: focus removed from wicket-generated-id-2
> INFO: focus set on wicket-generated-id-2
>
> The logs......
>
> IE6
>
> INFO: Initiating Ajax POST request on
> ?wicket:interface=:3:billingForm:checkoutBillingInfoPanel:lNameBorder:lastName::IBehaviorListener:2:&random=0.03186744821668486
> INFO: Invoking pre-call handler(s)...
> INFO: Channel busy - postponing...
> INFO: focus set on
> INFO: Received ajax response (69 characters)
> INFO:
> <?xml version="1.0" encoding="UTF-8"?><ajax-response></ajax-response>
> INFO: Response parsed. Now invoking steps...
> INFO: Response processed successfully.
> INFO: Invoking post-call handler(s)...
> INFO: Calling posponed function...
> INFO:
> INFO: Initiating Ajax POST request on
> ?wicket:interface=:3:billingForm:checkoutBillingInfoPanel:lNameBorder:lastName::IActivePageBehaviorListener:6:&wicket:ignoreIfNotActive=true&random=0.03611269598335831
> INFO: Invoking pre-call handler(s)...
> INFO: last focus id was not set
> INFO: Received ajax response (986 characters)
> INFO:
> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
> id="feedbackContainer92" ><![CDATA[<div id="feedbackContainer92"
> class="errorBar">
>            <div class="errorBarImg"><img
> src="/mytrip/images/img_error.gif" width="26" height="26" alt=""
> border="0" /></div>
>            <div class="errorBarUL">
>                <span id="feedbacke9"><!-- MARKUP FOR
> com.vegas.ui.wicket.form.validation.ValidationBorder$2 BEGIN -->
>  <ul>
>    <li class="feedbackPanelERROR">
>      <span class="feedbackPanelERROR">You did not enter a first name.
> Please enter a first name and try again.</span>
>    </li>
>  </ul>
> <!-- MARKUP FOR com.vegas.ui.wicket.form.validation.ValidationBorder$2
> END --></span>
>            </div>
>            <div class="clear"></div>
>        </div>]]></component><component id="errorImg94"
>><![CDATA[<span id="errorImg94">
>        <img src="/mytrip/images/img_error.gif" width="26" height="26"
> alt="" border="0" />
>    
> </span>]]></component><evaluate><![CDATA[Wicket.Focus.setFocusOnId(null);]]></evaluate></ajax-response>
> INFO: Response parsed. Now invoking steps...
> INFO: focus set on null from serverside
> INFO: Response processed successfully.
> INFO: Invoking post-call handler(s)...
> INFO: last focus id was not set
> INFO: focus set on address19c
>
>
> Firefox 3
>
> INFO: Initiating Ajax POST request on
> ?wicket:interface=:3:billingForm:checkoutBillingInfoPanel:lNameBorder:lastName::IBehaviorListener:2:&random=0.3242582275093997
> INFO: Invoking pre-call handler(s)...
> INFO: Channel busy - postponing...
> INFO: focus set on wicket-generated-id-2
> INFO: Received ajax response (69 characters)
> INFO:
> <?xml version="1.0" encoding="UTF-8"?><ajax-response></ajax-response>
> INFO: Response parsed. Now invoking steps...
> INFO: Response processed successfully.
> INFO: Invoking post-call handler(s)...
> INFO: Calling posponed function...
> INFO: Calling focus on wicket-generated-id-2
> INFO: focus removed from wicket-generated-id-2
> INFO: focus set on wicket-generated-id-2
> INFO:
> INFO: Initiating Ajax POST request on
> ?wicket:interface=:3:billingForm:checkoutBillingInfoPanel:lNameBorder:lastName::IActivePageBehaviorListener:6:&wicket:ignoreIfNotActive=true&random=0.2535805409469859
> INFO: Invoking pre-call handler(s)...
> INFO: Received ajax response (986 characters)
> INFO:
> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
> id="feedbackContainer92" ><![CDATA[<div id="feedbackContainer92"
> class="errorBar">
>            <div class="errorBarImg"><img
> src="/mytrip/images/img_error.gif" width="26" height="26" alt=""
> border="0" /></div>
>            <div class="errorBarUL">
>                <span id="feedbacke9"><!-- MARKUP FOR
> com.vegas.ui.wicket.form.validation.ValidationBorder$2 BEGIN -->
>  <ul>
>    <li class="feedbackPanelERROR">
>      <span class="feedbackPanelERROR">You did not enter a first name.
> Please enter a first name and try again.</span>
>    </li>
>  </ul>
> <!-- MARKUP FOR com.vegas.ui.wicket.form.validation.ValidationBorder$2
> END --></span>
>            </div>
>            <div class="clear"></div>
>        </div>]]></component><component id="errorImg94"
>><![CDATA[<span id="errorImg94">
>        <img src="/mytrip/images/img_error.gif" width="26" height="26"
> alt="" border="0" />
>    
> </span>]]></component><evaluate><![CDATA[Wicket.Focus.setFocusOnId(null);]]></evaluate></ajax-response>
> INFO: Response parsed. Now invoking steps...
> INFO: focus set on null from serverside
> INFO: Response processed successfully.
> INFO: Invoking post-call handler(s)...
> INFO: last focus id was not set
> INFO: focus set on country90
>
> Thank you,
> Scott
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to