AutoCompleteTextField shows completion list shown even if focus is not in the
text field anymore
------------------------------------------------------------------------------------------------
Key: WICKET-1827
URL: https://issues.apache.org/jira/browse/WICKET-1827
Project: Wicket
Issue Type: Bug
Components: wicket-extensions
Environment: Ubuntu/Firefox 3.0.1, OS X/Safari 3.1.2
Reporter: Jari Aarniala
We have a form with multiple AutoCompleteTextFields in it. If the user enters
text in text field A, and moves focus to text field B immediately (within the
throttle delay) e.g. using tab, the autocompletion list appears in text field A
even though it doesn't have the focus anymore.
Looking at wicket-autocomplete.js, the fix should be pretty straightforward,
i.e. just check whether the input still has focus at the time when the
autocompletion list is shown (in doUpdateChoices(resp)). This works for me:
---
wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
(revision 694678)
+++
wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
(working copy)
@@ -304,9 +304,9 @@
function doUpdateChoices(resp){
- // check if the input hasn't been cleared in the meanwhile
+ // check that the input still has focus and hasn't been cleared in the
meanwhile
var input=wicketGet(elementId);
- if (!cfg.showListOnEmptyInput && (input.value==null ||
input.value=="")) {
+ if ((Wicket.Focus.getFocusedElement() != input) ||
(!cfg.showListOnEmptyInput && (input.value==null || input.value==""))) {
hideAutoComplete();
return;
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.