背景・実現したいこと
関連レコードの各項目の幅を調整したい
試したこと
こちらの内容に沿ってJSコードの反映
エラー情報
ブラウザの開発者ツールのコンソールから下記エラーが出ています。
“Uncaught TypeError: Cannot read properties of undefined (reading ‘style’)”
利用したソースコード
(() => {
'use strict';
kintone.events.on('app.record.detail.show', (event) => {
varths = $(kintone.app.record.getFieldElement("関連レコードの名称を入れています")).find('th');
ths[4].style.minWidth = '1000px'
});
})();
ブラウザの開発者ツールで確認すると、
style="width: auto;"
とあり、スタイル自体は当てられています。
幅は自動で広がるので値を指定する必要はないのでは?
と思われるかもしれませんが、
別カラムのテキストの分量によっては、適切に幅が広がらず、
予期しない箇所でテキストが折り返されており、
見た目に違和感を持っています。
どのように対処すればよいかご教示いただけますと幸いです。
渡邉 航 様
こんにちは。
ぱっと見で申し訳ないですけど、
varths = $(kintone.app.record.getFieldElement("関連レコードの名称を入れています")).find('th');
この部分、半角スペース抜けてるんじゃないでしょうか。
var ths = $(kintone.app.record.getFieldElement("関連レコードの名称を入れています")).find('th');
新屋 様
ご確認ありがとうございます!
コード貼り付け時に誤ってスペースを削除してしまったようです。
実際のコードは半角スペースが入力されています。
渡邉 航 様
それでは、エラメッセージ見る限りで
ths[4].style
ここでエラーが起きているということは、[4] が存在しないのではないでしょうか。
プログラムでは開始が0からですので、最終列(4列目)を選択したつもりが実は[3]とかではないですか?
DOM操作は、操作したいDOMの構成がどうなってるのかわからないと回答できないので、予想の回答で申し訳ないです。
いちようコンソールログで、ths に値が代入されてるか確認はした方が良いと思いますよ。
入ってないんであれば、そもそも取得時のセレクターの記述ミスの可能性があります。
コンソールログで確認をしたところ、
m.fn.init [div.control-value-gaia.value-5517818, context: div.control-value-gaia.value-5517818]
0: div.control-value-gaia.value-5517818
context: div.control-value-gaia.value-5517818
length: 1
[[Prototype]]: Object(0)
となりました。
これは要素が取得できていないと判断すれば良いでしょうか・・?
また、こちらで仕様を確認したところ、
以下のフィールドを指定した場合 または 閲覧権限のないフィールドを指定した場合には null が返ります。
- ステータス
- 作業者
- テーブルに含まれるフィールド
- 関連レコード一覧に含まれるフィールド
とありました。
どうやら関連レコードは取得できないようですね・・・。
渡邉 航 様
要素は取得できていますよ。
ただ length が1になっているので、そもそも [4] は存在しないみたいです。
以下のフィールドを指定した場合 または 閲覧権限のないフィールドを指定した場合には null が返ります。
- ステータス
- 作業者
- テーブルに含まれるフィールド
- 関連レコード一覧に含まれるフィールド
また上記の説明は、関連レコードは取得できますが関連レコードに含まれるフィールドコードは取得できないということですね。
何処が悪いのかは、申し訳ないですけど関連レコードの構造やその他詳細情報がないと何も判断できませんが。
想像すると要素は取得できているけど、.find(‘th’) が効いていないように見えますね。
system
(system)
クローズされました:
7
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。