2009-09-29 6 views
3

Jusqu'à présent, je suis appelé sur keypress. Mais même si je mets le code à 9, il ne passe pas au contrôle suivant. Comment puis-je accomplir cela? Je travaille dans Asp Classic.Faire entrer la clé se comporte comme la touche de tabulation en Javascript

Ce que je veux finalement, c'est que le focus passe à l'élément suivant. L'identifiant de l'élément suivant, cependant, n'est pas déterminé complètement parce que son identifiant a été défini dans une boucle, mais à ce stade, il existe. Comment puis-je mettre au point le prochain contrôle est la question.

+0

vous a tagué cette question avec VS2005. Cela vous fait ressembler beaucoup à cette personne avec la même question: http://www.webdeveloper.com/forum/showthread.php?t=18598 –

+2

@crescent Cela a été posté il y a 6 ans ... aussi près de 2 ans avant VS2005 était disponible ... –

+0

@Rex: votre point? La même question dans une version différente de VS * peut * avoir la même résolution. –

Répondre

1

Il s'agit d'un script IE seulement, donc si vous essayez de l'exécuter sur Firefox, cela ne fonctionnera pas.

Pour qu'il fonctionne sur IE, supprimez "return false"; de votre code et n'oubliez pas d'atach cette fonction dans "onkeydown" événement.

+0

C'est correct. Merci. J'aurais dû le réaliser. L'onkeydown est juste avant la touche. Merci!! – Eric

0

Vous pouvez le faire en utilisant jQuery comme ceci:

function checkKey(e){ 
    if(e.keyCode == 13){ // if enter key 
     var e = jQuery.Event('keydown'); // create a manual event 
     e.which = e.charCode = 0; 
     e.keyCode = 9; // set the new event to "tab" 
     $(this.target).trigger(e); // trigger the new event (on the document) 
     return false; // cancels the original "enter" event from executing 
    } 
} 
// lets say you bind the event on the whole document... 
$(document).on('keydown', checkKey); 
Questions connexes