メインコンテンツまでスキップ

フィールド要素を取得

概要

getFieldElement 関数は、指定したフィールドIDに対応するフィールド要素(DOM要素)を取得します。
これにより、フィールドの表示内容やDOM要素を操作することが可能になります。

この関数はDOM要素を返すもので、レコードの値を更新するAPIではありません。値を変更する場合は レコードに値をセット を使用してください。

構文

atPocket.app.record.getFieldElement(fieldId, rowIndex);

引数

引数名説明
fieldIdstring取得したいフィールドのID。明細(SubTable)の場合は列のUID
rowIndexnumber明細の行インデックス(0始まり・任意)。指定すると明細のセル要素を返します

戻り値

説明
HTMLElement | null指定したフィールドの値を含む要素。フィールドが画面に存在しない場合や、明細で指定した行が存在しない場合は null

使用可能画面

  • レコード詳細画面
  • レコード作成画面
  • レコード編集画面

使用例

const element = atPocket.app.record.getFieldElement('field-1');
if (element) {
element.style.color = 'red';
}

// 明細の1行目のセル要素を取得する
const cell = atPocket.app.record.getFieldElement('field-6_1', 0);
明細(SubTable)のセル要素を扱う場合の注意

行の追加・コピー・削除・並び替えを行うと明細のDOMが作り直されるため、取得して保持した要素の参照は無効になります。addEventListener で付けたリスナーや appendChild で挿入した独自要素も失われます。行操作の change イベントで取得し直してください(明細(SubTable)の操作)。

ヒント

値を変えずに見た目だけを変更する場合は、DOM構造に依存しない フィールドのスタイルを設定 の利用をおすすめします。