2010-05-04 8 views
1

J'ai utilisé un javascript FocusChange() dans ma page aspx. J'ai quelques contrôles et j'ai besoin d'appuyer sur la touche Entrée pour déplacer le contrôle suivant en fonction de l'index des onglets. Il fonctionne bien dans IE7 mais ne fonctionne pas dans IE8 ... S'il vous plaît aidez-moi sur ce ..auto Focus (Hit Enter) Fonction Javascript fonctionne bien dans IE7 mais ne fonctionne pas dans IE8

Merci pour votre aide à l'avance. Le script java est donné ci-dessous.

function FocusChange() { 
    if (window.event.keyCode == 13) { 

     var formLength = document.form1.length; // Get number of elements in the form 
     var src = window.event.srcElement; // Gets the field having focus 
     var currentTabIndex = src.getAttribute('tabindex'); // Gets its tabindex 

     // scroll through all form elements and set focus in field having next tabindex 
     for (var i = 0; i < formLength; i++) { 
      if (document.form1.elements[i].getAttribute('tabindex') == currentTabIndex + 1) { 
      for (var j = i; j <= formLength; j++) { 
       if (document.form1.elements[j].disabled == false) { 
         document.form1.elements[j].focus(); 
         event.returnValue = false; 
         event.cancel = true; 
         return; 
         } 
        } 
       } 
      } 
     } 
    } 
+0

Pourquoi ne pas utiliser le jquery? –

Répondre

-1

J'ai la même demande que vous, mais résolu le problème d'une manière différente, tout en remplaçant le Entrez pour Tab

<script language="JavaScript"> 
    document.onkeydown = myOnkeydown; 
    function myOnkeydown() 
    {   
     var key = window.event.keyCode; 
     if (key == 13) //13 is the keycode of the 'Enter' key 
      {window.event.keyCode = 9; //9 is the code for the 'Tab' key. Essentially replacing the Enter with the Tab. 
     } 
    } 
    </script> 

Avertissement: Works dans IE uniquement .

Questions connexes