新規追加、編集画面にてサブテーブルを追加した際に特定の項目へ自動フォーカスしたい

新規追加、編集画面にてサブテーブルを追加した際に特定の項目へ自動フォーカスを行いたいのですがフォーカスをあてるというjsが自分なりに調べてみたのですが自分がしたいことに近しいことが見つからず、ご質問させていただきます。

やりたいことは下記例でございます。

例:手順1 テーブル追加

手順2 テーブルの次行のルックアップ項目へ自動フォーカス

何卒宜しくお願い致します。

ものすごく強引ですけど、これでどうでしょう。(jQuery不要)
※先ほど要jQuery版でアップしたのですが、書き直しました。

フォーカスを当てるルックアップフィールドは入力必須であることを前提とし、
テーブルの行が追加されるとルックアップが空の行に対してフォーカスを当てます。
(追加したテーブル行を割り出すのも面倒なので)

「TABLE_FIELD_CODE」と「LOOKUP_FIELD_CODE」を
ご利用の環境のフィールドコードに書き換えてください。

(function () {
'use strict';
const TABLE_FIELD_CODE = 'テーブル'; // ルックアップフィールドのあるテーブルのフィールドコード
const LOOKUP_FIELD_CODE = 'ルックアップ_0'; // ルックアップフィールドのフィールドコード

const SubTableFieldId = Object.values(
Object.values(cybozu.data.page.FORM_DATA.schema.subTable).filter((tb) => {
return tb.var === TABLE_FIELD_CODE;
})[0].fieldList
).filter((f) => {
return f.var === LOOKUP_FIELD_CODE;
})[0].id;

kintone.events.on([`app.record.create.change.${TABLE_FIELD_CODE}`, `app.record.edit.change.${TABLE_FIELD_CODE}`], function (e) {
let index;
e.changes.field.value.forEach((tr, i) => {
if (!tr.value[LOOKUP_FIELD_CODE].value) {
index = i;
}
});
if (index) {
document.querySelectorAll(`.field-${SubTableFieldId}`)[index].getElementsByTagName('input')[0].focus();
}
return e;
});
})();

 

ご教授いただき誠にありがとうございます。

是非上記jsを参考に確認させていただきます。

再度ご質問させていただくかと存じます。

何卒宜しくお願い致します。

おかげさまで無事問題を解決することができましたありがとうございます。