Author: thrantal
Date: Tue Jun 24 21:04:55 2008
New Revision: 671413

URL: http://svn.apache.org/viewvc?rev=671413&view=rev
Log:
WICKET-1713: Fixed IE6 tabIndex handling with custom DOM object property 
instead of the array

Modified:
    
wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js

Modified: 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js?rev=671413&r1=671412&r2=671413&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
 (original)
+++ 
wicket/branches/wicket-1.3.x/jdk-1.4/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
 Tue Jun 24 21:04:55 2008
@@ -1421,19 +1421,18 @@
                this.tabbableTags = new 
Array("A","BUTTON","TEXTAREA","INPUT","IFRAME", "SELECT");
                if (Wicket.Browser.isIE()) {
                        var win = Wicket.Window.current;                        
-                       var i = 0;                      
-                       this.tabIndexes = new Array();
+                       this.tabsAreDisabled = 'true';
                        for (var j = 0; j < this.tabbableTags.length; j++) {
                                var tagElements = 
this.document.getElementsByTagName(this.tabbableTags[j]);
                                for (var k = 0 ; k < tagElements.length; k++) {
                                        
                                        // if this is not an iframe window and 
the element is child of window content,
                                        // don't disable tab on it
-                                       if (win.isIframe() == true || 
this.isParent(tagElements[k], win.content) == false) {                          
  
-                                               this.tabIndexes[i] = 
tagElements[k].tabIndex;
-                                               tagElements[k].tabIndex="-1";
+                                               if (win.isIframe() == true || 
this.isParent(tagElements[k], win.content) == false) {
+                                               var element = tagElements[k];
+                                               element.hiddenTabIndex = 
element.tabIndex;
+                                               element.tabIndex="-1";
                                        }
-                                       i++;
                                }
                        }
                }
@@ -1443,17 +1442,17 @@
         * Restore tab indexes if they were disabled.
         */
        restoreTabs: function() {
-               if (typeof(this.tabIndexes) != 'undefined') {
-                       var i = 0;
+               if (typeof(this.tabsAreDisabled) != 'undefined') {
                        for (var j = 0; j < this.tabbableTags.length; j++) {
                                var tagElements = 
this.document.getElementsByTagName(this.tabbableTags[j]);
                                for (var k = 0 ; k < tagElements.length; k++) {
-                                       tagElements[k].tabIndex = 
this.tabIndexes[i];
-                                       tagElements[k].tabEnabled = true;
-                                       i++;
+                                       var element = tagElements[k];
+                                       element.tabIndex = 
element.hiddenTabIndex;
+                                       element.hiddenTabIndex = null;
+                                       element.tabEnabled = true;
                                }
                        }
-                       this.tabIndexes = null;
+                       this.tabsAreDisabled = null;
                }
        }
 


Reply via email to