Selected components lose focus on every update even if it is not updated.
If the page have a list which is updated on every second and a dropdown
which isn't updated at all, user has to do his selection from the
dropdown within that update interval. The dropdown list is closed on
every update in IE6. This problem doesn't occur with wicket 1.2.6.
I made sample code, which can be found from:
https://download.syncrontech.com/public/update_problem_ie6.zip
Ajax debug:
INFO: Received ajax response (1181 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>
</head>]]></header-contribution><component id="test1" ><![CDATA[<span
id="test1">
<span>
<span>first</span><br/>
</span><span>
<span>second</span><br/>
</span>
</span>]]></component><evaluate><![CDATA[setTimeout("var
wcall=wicketAjaxGet('?wicket:interface=:0:form:test::IActivePageBehaviorListener:0:-1&wicket:ignoreIfNotActive=true',null,null,
function() {var c = Wicket.$('test1'); return typeof(c) != 'undefined'
&& c != null}.bind(this));", 3000);]]></evaluate></ajax-response>
-Jani
Igor Vaynberg wrote:
what kind of usability problems?
-igor
On Fri, Mar 7, 2008 at 12:41 AM, Jani Väisänen
<[EMAIL PROTECTED]> wrote:
I have a case with AbstractAjaxTimerBehavior on wicket 1.3.1.
AbstractAjaxTimerBehavior seems to add header-contribution to every ajax
response.
The method renderHead calls super.renderHead
(AbstractDefaultAjaxBehavior), which adds lines:
- response.renderJavascriptReference(WicketEventReference.INSTANCE);
-
response.renderJavascriptReference(WicketAjaxReference.INSTANCE);
to every response.
This behavior causes at least usability problems in IE6.
-Jani