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]