Thank you Matej. I already tried that. I get the same behavior either way. Oddly, I only get the problem if an update occurs as the onblur for the field preceding the select (drop down) element. At that point I am focused on the select and can change it's value. However in IE6 I still tab out of the select element back to the element with tabindex=1.
If instead of tabbing into the select element I click on it then this problem goes away. Here is the relevant onblur event for the field prior to the select element. onblur="var wcall=wicketSubmitFormById('billingForm134', '?wicket:interface=:7:billingForm:checkoutBillingInfoPanel:lNameBorder:lastName::IActivePageBehaviorListener:6:&wicket:ignoreIfNotActive=true', null,null,null, function() {return Wicket.$('lastName140') != null;}.bind(this));" We effectively "submit" every field onblur so that we can perform validation across multiple fields (do the e-mail addresses match?). Thank you, Scott On Wed, Sep 10, 2008 at 10:48 AM, Matej Knopp <[EMAIL PROTECTED]> wrote: > 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]