Repository: wicket Updated Branches: refs/heads/wicket-6.x 4b2eae7b0 -> f3c246161
WICKET-6366 check input still on page this closes #220 Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/f3c24616 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/f3c24616 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/f3c24616 Branch: refs/heads/wicket-6.x Commit: f3c24616127eee055f233fa81af6148da9478fd2 Parents: 4b2eae7 Author: Sven Meier <[email protected]> Authored: Mon Jun 5 14:37:04 2017 +0200 Committer: Sven Meier <[email protected]> Committed: Mon Jun 5 14:39:21 2017 +0200 ---------------------------------------------------------------------- .../html/autocomplete/wicket-autocomplete.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/f3c24616/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js index eef836f..37c359a 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js @@ -376,18 +376,20 @@ var attrs = { u: callbackUrl, pre: [ function (attributes) { - // since attrs.c is not set, we have to check existence by ourself - if (!Wicket.$$(elementId)) { + var input = Wicket.$(elementId); + if (!input) { + // WICKET-6366 input might no longer be on page return false; } var activeIsInitial = (document.activeElement === initialElement); - var elementVal = Wicket.$(elementId).value; - var hasMinimumLength = elementVal.length >= minInputLength; + var hasMinimumLength = input.value.length >= minInputLength; var result = hasMinimumLength && activeIsInitial; + if (!result) { hideAutoComplete(); } + return result; }], ep: {}, @@ -676,7 +678,7 @@ } if(elementCount>0){ - if(cfg.preselect === true){ + if (cfg.preselect === true){ var selectedIndex = defaultSelection?defaultSelection:0; for(var ec = 0; ec < elementCount; ec++) { var selectableElement = selectableElements[ec]; @@ -718,8 +720,12 @@ function scheduleEmptyCheck() { window.setTimeout(function() { var input=Wicket.$(elementId); - if (!cfg.showListOnEmptyInput && (input.value === null || input.value === "")) { - hideAutoComplete(); + + // WICKET-6366 input might no longer be on page + if (input) { + if (!cfg.showListOnEmptyInput && (input.value === null || input.value === "")) { + hideAutoComplete(); + } } }, 100); }
