You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "David Lock (JIRA)" <ji...@apache.org> on 2013/11/28 15:38:35 UTC
[jira] [Created] (WICKET-5432) OnChangeAjaxBehavior continually
triggered in IE11
David Lock created WICKET-5432:
----------------------------------
Summary: OnChangeAjaxBehavior continually triggered in IE11
Key: WICKET-5432
URL: https://issues.apache.org/jira/browse/WICKET-5432
Project: Wicket
Issue Type: Bug
Components: wicket
Affects Versions: 6.12.0
Environment: Internet Explorer 11
Reporter: David Lock
I have a DataTable with a single column. The table has a toolbar assigned which provides sorting and filtering.
The filtering is done via TextField that has the following OnChangeAjaxBehavior assigned.
OnChangeAjaxBehavior onChangeAjaxBehavior = new OnChangeAjaxBehavior()
{
@Override
protected void onUpdate(AjaxRequestTarget target)
{
FilteredLazyLoadingDataProvider<T, S> provider =
(FilteredLazyLoadingDataProvider<T, S>) dataTable.getDataProvider();
provider.filter(FilterAjaxFallbackOrderByBorder.this);
target.add(dataTable);
target.appendJavaScript("moveCaretToEnd(document.getElementById('" + m_filter.getMarkupId() + "'))");
}
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes)
{
super.updateAjaxAttributes(attributes);
attributes.setThrottlingSettings(new ThrottlingSettings(id, Duration.milliseconds(200), true));
}
};
When I view a page in Chrome/Firefox everything works as expected. When I view the page in Internet Explorer 11 I observer the following issue.
If the filter textfield has focus and is empty, the OnChangeAjaxBehavior.onUpdate method is continually called (ajax requests spam the server). As soon as I enter a value into the text field, the filtering is performed and the ajax calls cease to spam the server.
What is interesting is if I create a simple form with just a textfield in and assign the above OnChangeAjaxBehaviour, the textfield in the form does not have the same issue as the one in the table header.
My app is deployed in Tomcat 7.0.30 (although the issue can also been seen when testing via jetty)
_______________
Response from Martin in the user forum....
And the reason for the problem is at
https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js?source=c#L2620
I guess IE 11 finally implements 'oninput' event for text inputs. This is
OK, we have to improve our #isIE() method to count IE 11 as evergreen
browser.
But it seems they broke somehow the other event listeners ...
--
This message was sent by Atlassian JIRA
(v6.1#6144)