【JS】フォームの入力欄を自動で移動

便利に使わせてもらってるけど毎回忘れるのでメモ。

関数を定義

書き換えの必要はないので任意の場所にコピペする

function nextfeild(str) {
        if (str.value.length >= str.maxLength) {
            for (var i = 0, elm = str.form.elements; i < elm.length; i++) {
                if (elm[i] == str) {
                    (elm[i + 1] || elm[0]).focus();
                    break;
                }
            }
        }
        return (str);
    }

フォームの最大値とイベントを設定

onkeyup=”nextfeild(this)”を書くの忘れて「動きませんが?」って毎回思ってしまう、気を付ける。

<input type="text" maxlength="4" onkeyup="nextfeild(this)">

以上で動く!かんたん!うれしい!

参考