ルックアップ「取得」クリック時に処理を走らせたい

 ルックアップの取得ボタンを押したタイミングで実行したい処理があります。

changeのイベントでは無いように変更がないときにイベントが処理されません。

ルックアップフィールドの値が変わっていなかったとしても、取得をクリックしたら処理を走るようにするにはどうしたら良いでしょうか?

tanaka様

お世話になっております。

cstapの江田です。

addEventListener() メソッドを用いるとよいと思います。

こちらのページが参考になるかと思います。

https://developer.cybozu.io/hc/ja/community/posts/360002910283

確かにこちらがaddEventListener()を反応させるようにすればできそうです。

しかし、ルックアップフィールドの「取得」に対してdocument.getElementsByClassName()(IDでもいいですが)する方法がわかりません。

ルックアップフィールドが1つだけならできなくもないですが、

残念ながらルックアップフィールドは複数存在しておりそれぞれに処理違う処理をもたせたいです。

tanaka様

お世話になっております。

 

ルックアップフィールドが複数あるのであれば、ページ内で上から数えて何個目のルックアップ要素なのかで区別して、それぞれにイベントリスナーを指定すればよいです。

(function(){"use strict";kintone.events.on(['app.record.create.show','app.record.edit.show'],function(event){document.getElementsByClassName('input-lookup-gaia')[0].addEventListener('click',function(click){//ページ内上から数えて1つ目のルックアップの取得ボタンを押した際の処理console.log("aaa");},true);document.getElementsByClassName('input-lookup-gaia')[1].addEventListener('click',function(click){//ページ内上から数えて2つ目のルックアップの取得ボタンを押した際の処理console.log("bbb");},true);document.getElementsByClassName('input-lookup-gaia')[3].addEventListener('click',function(click){//ページ内上から数えて3つ目のルックアップの取得ボタンを押した際の処理console.log("ccc");},true);});})();

上記リンクはサブテーブルを用いていた例なのでわかりにくかったですね。申し訳ございません。

なるほど!確かにその方法でできそうです。

ありがとうございます、早速試してみます。

 

無事取得クリックのタイミングで処理することができました!

江田篤史様ありがとうございました。

 

ちなみに今回は取得をクリックしたタイミングで処理させたくこの処理で解決しましたが

ルックアップを取得したタイミングでとなったらまた何か別の方法があったりするでしょうか?

 

tanaka様

お世話になっております。

フィールド設定で「ほかのフィールドのコピー」を設定している場合は、値がコピーされたタイミングでイベントを取得できます。
https://developer.cybozu.io/hc/ja/articles/201941984#step3

kintone.events.on([
'app.record.create.change.ルックアップコピー先フィールドのフィールドコード',
'app.record.edit.change.ルックアップコピー先フィールドのフィールドコード',
], function(event){
//処理
});

tanaka様、江田様

 

先週末にJavascriptの本を見ながら、少しずつ勉強を始め、

本日KintoneにJavascriptを実装することを初めて行いました。

 

さて、業務でKintoneの効率化を検討しているのですが、

ルックアップ1を手動実行し、参照された値をルックアップ2に自動コピーし、ルックアップ2を自動実行したいと考えています。

実現する手段として2つトライしてみましたが、どちらもうまくいきませんでした。

 

案①:ルックアップ1参照先のフィールドに変化があったら、フィールド値をコピーし、ルックアップ2に値貼り付け

→ルックアップ2のフィールドに値コピー不可でNG

 

案②:ルックアップの取得ボタンが押されたら、値を更新し、参照先フィールド値をコピーしルックアップ②に張り付け

→参照先データが更新されておらずNG(undefined)

 

解決方法がなく困っております、もしご助言をいただけるなら非常に助かります。

よろしくお願いします。