Supponiamo di avere una pagina web qualunque e di voler simulare la pressione del tasto TAB con l’Invio. La richiesta mi è stata fatta da un cliente e in particolar modo dalla persona deputata al data-entry che, dovendo operare in modo molto veloce, preferisce usare il tastierino numerico e avrebbe preferito usare l’Invio al posto del Tab per spostarsi tra i vari campi da riempire.
Come realizzare tutto ciò? Il buon jQuery ci viene in aiuto e, considerando esclusivamente i soli campi input è possibile utilizzare lo script seguente:
1: textBoxes = $("input:text");
2: $(textBoxes).keydown(checkEnter);
3:
4: function checkEnter(event) {
5: if (event.keyCode == 13) {
6: index = textBoxes.index(this);
7: if (textBoxes[index + 1] != null)
8: {
9: nextCtrl = textBoxes[index + 1];
10: nextCtrl.focus();
11: nextCtrl.select();
12: }
13: else
14: {
15: nextCtrl = textBoxes[0];
16: nextCtrl.focus();
17: nextCtrl.select();
18: }
19: event.preventDefault();
20: return false;
21: }
22: }
Nel mio caso recupero tutto i controlli input di tipo text, ma ovviamente è possibile selezionare solo gli elementi con una certa classe.