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]

Reply via email to