[ 
https://issues.apache.org/jira/browse/WICKET-3093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13003283#comment-13003283
 ] 

rajeev commented on WICKET-3093:
--------------------------------

Hi Attila,

Thanks for the update. I tried it in my quickstart project and it is working 
fine in IE9. Now even onchange event does not lose focus after adding this line 
in my html and also target.addComponent(getFormComponent()) is working fine 
without any issues.

But in my real time project, even after adding this line, it is not resoving 
the issue. I checked the ajax logs from both apps and I am copying logs below:
============QUICKSTART APPLICATION 
=========================================================================================

INFO: focus removed from 

INFO: focus set on autocomplete1

INFO: 

INFO: Initiating Ajax GET request on 
?wicket:interface=:0:form:autocomplete::IActivePageBehaviorListener:1:-1&wicket:ignoreIfNotActive=true&q=i&random=0.2713084402249128

INFO: Invoking pre-call handler(s)...

INFO: Received ajax response (317 characters)

INFO: 
<ul><li textvalue="Iraq">Iraq</li><li textvalue="Ireland">Ireland</li><li 
textvalue="Indonesia">Indonesia</li><li textvalue="India">India</li><li 
textvalue="Iceland">Iceland</li><li textvalue="Italy">Italy</li><li 
textvalue="Ireland">Ireland</li><li textvalue="India">India</li><li 
textvalue="Israel">Israel</li></ul>

INFO: returned focused element: [object HTMLInputElement]

INFO: Response processed successfully.

INFO: Invoking post-call handler(s)...

INFO: focus removed from autocomplete1

INFO: focus set on autocomplete1

INFO: 

INFO: Initiating Ajax POST request on 
?wicket:interface=:0:form:autocomplete::IBehaviorListener:0:-1&random=0.4214748885916746

INFO: Invoking pre-call handler(s)...
INFO: returned focused element: [object HTMLInputElement]
INFO: Received ajax response (1699 characters)
INFO: 
<?xml version="1.0" encoding="UTF-8"?><ajax-response><header-contribution 
encoding="wicket1" ><![CDATA[<head 
xmlns:wicket="http://wicket.apache.org";><script type="text/javascript" 
src="resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script>
 <script type="text/javascript" 
src="resources/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js"></script>
 <script type="text/javascript" 
src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/wicket-ajax-debug.js"></script>
 <script type="text/javascript" 
id="wicket-ajax-debug-enable"><!--/*--><![CDATA[/*><!--*/
wicketAjaxDebugEnable=true;
/*-->]^]^>*/</script>

<script type="text/javascript" 
src="resources/org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteBehavior/wicket-autocomplete.js"></script>
 </head>]]></header-contribution><component id="autocomplete1" ><![CDATA[<input 
type="text" size="50" value="India" name="autocomplete" id="autocomplete1" 
autocomplete="off" onchange="var 
wcall=wicketAjaxPost('?wicket:interface=:0:form:autocomplete::IBehaviorListener:0:-1',
 wicketSerialize(Wicket.$('autocomplete1')),function() { 
}.bind(this),function() { }.bind(this), function() {return 
Wicket.$('autocomplete1') != 
null;}.bind(this));"/>]]></component><evaluate><![CDATA[new 
Wicket.AutoComplete('autocomplete1','?wicket:interface=:0:form:autocomplete::IActivePageBehaviorListener:1:-1&wicket:ignoreIfNotActive=true',{preselect:
 false,maxHeight: -1,adjustInputWidth: true,useSmartPositioning: 
false,useHideShowCoveredIEFix: true,showListOnEmptyInput: 
false,showListOnFocusGain: false,throttleDelay: 
300,showCompleteListOnFocusGain: false},null);]]></evaluate></ajax-response>

INFO: Response parsed. Now invoking steps...

INFO: returned focused element: [object HTMLInputElement]

INFO: returned focused element: [object HTMLInputElement]

INFO: Response processed successfully.

INFO: Invoking post-call handler(s)...

INFO: Calling focus on autocomplete1

INFO: focus set on autocomplete1

INFO: focus removed from autocomplete1

================================== REAL TIME 
APPLICATION=========================================================

INFO: focus set on searchboxa
INFO: 
INFO: Initiating Ajax GET request on 
?wicket:interface=:0:header:search:searchBoxForm:searchbox::IActivePageBehaviorListener:2:-1&wicket:ignoreIfNotActive=true&q=dell&random=0.8830562480124044
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (743 characters)
INFO: 
<ul><li textvalue="DELL 2707WFP">DELL 2707WFP</li><li textvalue="DELL 
2709W">DELL 2709W</li><li textvalue="DELL 3007WFP">DELL 3007WFP</li><li 
textvalue="DELL 3007WFP-HC">DELL 3007WFP-HC</li><li textvalue="DELL 4220">DELL 
4220</li><li textvalue="DELL 4320">DELL 4320</li><li textvalue="DELL 
EC280">DELL EC280</li><li textvalue="DELL MINI 3">DELL MINI 3</li><li 
textvalue="DELL MINI 5">DELL MINI 5</li><li textvalue="DELL S500">DELL 
S500</li><li textvalue="DELL S500WI">DELL S500WI</li><li textvalue="DELL 
ULTRASHARP U2711">DELL ULTRASHARP U2711</li><li textvalue="DELL ULTRASHARP 
U3011">DELL ULTRASHARP U3011</li><li textvalue="Dell Enterprise Technology 
Center">Dell Enterprise Technology Center</li><li textvalue="Why Dell">Why 
Dell</li></ul>
INFO: returned focused element: [object]
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: 
INFO: Initiating Ajax POST request on 
?wicket:interface=:0:header:search:searchBoxForm:searchbox::IBehaviorListener:1:-1&random=0.8094410115518278
INFO: Invoking pre-call handler(s)...
INFO: Calling focus on searchboxa
INFO: focus removed from searchboxa
INFO: focus set on searchboxa
INFO: Received ajax response (1839 characters)
INFO: 
<?xml version="1.0" encoding="UTF-8"?><ajax-response><header-contribution 
encoding="wicket1" ><![CDATA[<head 
xmlns:wicket="http://wicket.apache.org";><script type="text/javascript" 
src="resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script>
 
<script type="text/javascript" 
src="resources/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js"></script>
 
<script type="text/javascript" 
src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/wicket-ajax-debug.js"></script>
 
<script type="text/javascript" 
id="wicket-ajax-debug-enable"><!--/*--><![CDATA[/*><!--*/
wicketAjaxDebugEnable=true;
/*-->]^]^>*/</script>

<script type="text/javascript" 
src="resources/org.apache.wicket.extensions.ajax.markup.html.autocomplete.AutoCompleteBehavior/wicket-autocomplete.js"></script>
 
</head>]]></header-contribution><component id="searchboxa" ><![CDATA[<input 
name="searchbox" type="text" class="searchbox" style="vertical-align: middle;" 
value="dell" id="searchboxa" autocomplete="off" onchange="var 
wcall=wicketAjaxPost('?wicket:interface=:0:header:search:searchBoxForm:searchbox::IBehaviorListener:1:-1',
 wicketSerialize(Wicket.$('searchboxa')),function() { }.bind(this),function() { 
}.bind(this), function() {return Wicket.$('searchboxa') != 
null;}.bind(this));"/>]]></component><evaluate><![CDATA[new 
Wicket.AutoComplete('searchboxa','?wicket:interface=:0:header:search:searchBoxForm:searchbox::IActivePageBehaviorListener:2:-1&wicket:ignoreIfNotActive=true',{preselect:
 false,maxHeight: -1,adjustInputWidth: true,useSmartPositioning: 
false,useHideShowCoveredIEFix: true,showListOnEmptyInput: 
false,showListOnFocusGain: false,throttleDelay: 
300,showCompleteListOnFocusGain: 
false},null);]]></evaluate><evaluate><![CDATA[document.getElementById('searchboxa').focus();]]></evaluate></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: returned focused element: [object]
INFO: returned focused element: [object]
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: focus set on searchboxa
INFO: refocus last focused component not needed/allowed
INFO: focus removed from searchboxa

==================================================================




> Self-updating AutoCompleteTextField moves focus to start of field in IE only
> ----------------------------------------------------------------------------
>
>                 Key: WICKET-3093
>                 URL: https://issues.apache.org/jira/browse/WICKET-3093
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 1.4.12
>            Reporter: Alex Grant
>            Assignee: Martin Grigorov
>            Priority: Minor
>         Attachments: WICKET-3093-autocomplete.zip, WicketTestProject.zip
>
>
> I have an AutoCompleteTextField that has a AjaxFormSubmitBehavior("onchange") 
> attached so that we can canonicalise the value (eg correct the case) 
> automatically. In IE only, when you pause long enough to trigger the 
> AjaxFormSubmitBehavior, the cursor moves to the start of the text field, so 
> if you type "123" slowly you may be "312".
> This is only an issue in IE as it is caused by WICKET-2279 - if I remove the 
> javascript added for that bug the problem goes away.
> The problem can also be solved by changing AjaxFormSubmitBehavior("onchange") 
> to AjaxFormSubmitBehavior("onblur"), but I still consider it a bug given it 
> only occurs in IE - Firefox and Chrome behave correctly no matter what you do.
> Also, since the javascript added in WICKET-2279 starts with the comment "// 
> hack for a focus issue in IE, WICKET-2279" I figured you'd like to know about 
> any quirky behaviour it causes.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to