【JavaScript】EnterでTabと同じように次の入力フォームに移動

やっぱり一定の年齢以上の人はEnter(Return)で入力できないと苦痛らしい(Tabで移動できることを知らない)ので、JavaScriptで実現できないものかと調査したメモ。

IEだけなら次のコードをonkeydown時に実行すればOK。

if( event.keyCode == 13 ) {
    if(event.which) {
        return false;
    } else {
        event.keyCode = 9;
    }
}

event.whichの分岐はfirefoxでスクリプトエラーが出ないようにしている。

firefoxでも動くようにしようと思ったら結構めんどくさい。

Enterキーイベントをtabキーイベントに置き換えるのではなくて、Javascriptで次のフォームを見つけてfocusするようにした方がいいかも。ここなどを参考に。

jQueryを使えばclosestとかnextAllとか使えば簡単に実現できると思う。