2009-09-28 9 views
0

Existe-t-il un script JavaScript ou jQuery simple pour naviguer dans les champs de formulaire, comme dans les champs dynamiques de phpMyAdmin. Lorsque vous cliquez sur Ctrl + ou Ctrl + it "onglets" dans le champ suivant.Configuration des raccourcis clavier pour accéder aux champs de saisie les plus proches

Cette étend de la valeur par défaut Tab (passez à côté) et Maj +Tab (aller à la précédente). Je veux que la navigation soit un peu plus étendue en ajoutant, en bas, à gauche, à droite, à la fin, à la maison et par lignes/colonnes.

+3

Pourquoi voudriez-vous cela au lieu de tab/shift + tab? – svinto

+0

Parce qu'il est habitué? – SeanJA

+0

parce que l'onglet va à la prochaine, l'onglet Maj va à la précédente. Je veux parcourir les champs de formulaire par haut, bas, gauche droite, fin, en commençant par les lignes/colonnes. –

Répondre

2

je crois qu'il ressemblerait à quelque chose comme ceci:

$('input').keypress(function(){ 
    //if correct key combination 
     $(this).next('input').focus(); 
}); 

Ah, de votre commentaire. « Parce que l'onglet va à côté, onglet changement va précédente Je veux naviguer dans les champs de formulaire en haut, bas, gauche droite, fin, en commençant par des lignes/colonnes. "

Si vous voulez une grille 2D d'entrées que vous pourriez avoir besoin d'utiliser les ids:

<input id="input_1_1" /> 

(id = input_x_y)

Le javascript serait alors quelque chose comme:

$('input').keypress(function(){ 
    var id = $(this).attr('id'); 
    id.split("_"); 
    // if up: 
     $('#input_'+id[0]+'_'+(id[1] - 1)).focus(); 
    // if down: 
     $('#input_'+id[0]+'_'+(id[1] + 1)).focus(); 
    // if left: 
     $('#input_'+(id[0] - 1)+'_'+id[1]).focus(); 
    // if right: 
     $('#input_'+(id[0] + 1)+'_'+id[1]).focus(); 
}); 
+0

Évidemment, vous auriez besoin de connaître l'ordre lorsque vous posez le code HTML – SeanJA

Questions connexes