Author: janne
Date: Fri Mar 23 02:26:17 2007
New Revision: 521641

URL: http://svn.apache.org/viewvc?view=rev&rev=521641
Log:
fix for WICKET-2,  Input field with autocomplete behavior does not submit the 
form via enter key

Modified:
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-extensions/src/main/java/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-extensions/src/main/java/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-extensions/src/main/java/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js?view=diff&rev=521641&r1=521640&r2=521641
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-extensions/src/main/java/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-extensions/src/main/java/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
 Fri Mar 23 02:26:17 2007
@@ -36,11 +36,13 @@
     var KEY_CTRL=17;
     var KEY_ALT=18;
 
-    var selected=-1;
-    var elementCount=0;
-    var visible=0;
-    var mouseactive=0;
+    var selected=-1;   // index of the currently selected item
+    var elementCount=0; // number of items on the auto complete list
+    var visible=0;             // is the list visible
+    var mouseactive=0; // is mouse selection active
+       var     hidingautocomplete=0;           // are we hiding the 
autocomplete list
 
+       // pointers of the browser events
        var objonkeydown;
        var objonblur;
        var objonkeyup;
@@ -50,13 +52,13 @@
     function initialize(){
         var obj=wicketGet(elementId);
 
-               objonkeydown = obj.onkeydown;
-               objonblur = obj.onblur;
-               objonkeyup = obj.onkeyup;
-               objonkeypress = obj.onkeypress;
-               objonchange = obj.onchange;
+        objonkeydown = obj.onkeydown;
+        objonblur = obj.onblur;
+        objonkeyup = obj.onkeyup;
+        objonkeypress = obj.onkeypress;
+        objonchange = obj.onchange;
 
-        obj.onblur=function(event){
+       obj.onblur=function(event){
                if(mouseactive==1)return false;
                hideAutoComplete();
         }
@@ -92,6 +94,7 @@
                        if(selected>-1){
                        obj.value=getSelectedValue();
                                    hideAutoComplete();
+                               hidingAutocomplete=1;
                                        }
 
                            if(typeof objonkeydown == "function")objonkeydown();
@@ -129,7 +132,10 @@
 
         obj.onkeypress=function(event){
             if(wicketKeyCode(getEvent(event))==KEY_ENTER){
-                return killEvent(event);
+                if(selected>-1 || hidingAutocomplete==1){
+                               hidingAutocomplete=0;
+                       return killEvent(event);
+                }
             }
                        if(typeof objonkeypress == "function")objonkeypress();
         }
@@ -209,6 +215,7 @@
     }
 
     function hideAutoComplete(){
+        hidingAutocomplete=1;
         visible=0;
         selected=-1;
         getAutocompleteMenu().hide();


Reply via email to